> フロント機能 > 最近チェックした商品の履歴表示 |
フロント機能
| 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
seasoft |
投稿日時: 2009/3/20 23:04
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 最近チェックした商品の履歴表示 先の書き込みで掲載されたのは *.php のソースかと思いますが、*.tpl も書き換えましたか?
通常のカスタマイズだと、両方書き換えが必要だと思いますので。
|
tonton |
投稿日時: 2009/3/21 2:05
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 最近チェックした商品の履歴表示 詳細ページで、表示されるところまでは大丈夫なのですよね?
記述されたソースを全部精査するのは、あまりにも大変でお手伝いできそうにないです。(^^; でも、ソースのどこを、元はどうだったのをこう変えた、という形で、変更点だけを全て書いてもらえれば、何が足りないか間違っているか、自分のときと比較してアドバイスできるところがあるかもしれません。。。 どうでしょうか?(*^^*) |
arts |
投稿日時: 2009/3/21 9:26
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: 最近チェックした商品の履歴表示 レスありがとうございます!
tplの方は書き換えていませんでしたのでやってみようと 思います。 変更点だけ書けば良かったですよね・・・・すみません。 とりあえず、tplも同じようにやってみて結果をみてみます またご報告いたします |
arts |
投稿日時: 2009/3/21 11:00
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: 最近チェックした商品の履歴表示 今tplの方も追記で試してみましたが画面には変化は現れずに
見た目はなにも変わっていませんでした。 行ったことは下記になります /data/class/pages/products/LC_Page_Products_list.phpの function process() { $objView = new SC_SiteView(); $conn = new SC_DBConn(); $objDb = new SC_Helper_DB_Ex(); この下に //2008.04.11 商品閲覧履歴取得 $this->Get_ItemHistory(); を追加しました。 次に一番最後の行の} ?> の前へ、 //2008.04.11 商品詳細閲覧履歴取得、表示データ取得処理 function Get_ItemHistory() { $cnt = 0; // ページを再読み込み後に表示 if (isset($_COOKIE['product'])) { foreach ($_COOKIE['product'] as $name => $value) { $objQuery = new SC_Query(); // DBから一覧表示用商品情報取得 $arrRet = $objQuery->select("*", "vw_products_allclass AS alldtl", "product_id =".$value); $this->arrItemHistory[$cnt] = $arrRet[0]; $cnt = $cnt+1; } } //クッキーに重複項目がないか判定処理 $duplicateFlg = true; foreach ($_COOKIE['product'] as $name => $value) { if($value == $_GET['product_id']){ $duplicateFlg = false; } } //重複がない場合クッキーに設定 if($duplicateFlg){ if($cnt < 4){ $cnt = $cnt + 1; setcookie("product[".$cnt."]", $_GET['product_id'],time()+60*60*24*30 ); }else{ $reNum = 1; foreach ($_COOKIE['product'] as $name => $value) { if($reNum > 1){ $setNum = $reNum -1; setcookie("product[".$setNum."]", $value, time()+60*60*24*30 ); } $reNum = $reNum + 1; } setcookie("product[4]", $_GET['product_id'], time()+60*60*24*30 ); } } } これを追加しました。一応tonton様の書いてあるのと同じように やったつもりです。 まずここでアップしてみたところ画面には変化なしで、一覧の 商品が並んでいます。 次に /data/Smarty/templates/default/list.tplの一番最後 </ul><!--件数ここまで--> <!--{/if}--> </form> </div> の下に下記を追記しました。 <!--▼閲覧履歴ここから--> <!--{if $arrItemHistory}--> <div id="whoboughtarea"> <h2><img src="<!--{$TPL_DIR}-->img/products/title_history.jpg" width="580" height="30" alt="閲覧履歴" /></h2> <div class="whoboughtblock"> <!--{section name=cnt loop=$arrItemHistory}--> <!--{if ($smarty.section.cnt.index % 2) == 0}--> <!--{if $arrItemHistory[cnt].product_id}--> <!-- 左列 --> <div class="whoboughtleft"> <!--{if $arrItemHistory[cnt].main_list_image != ""}--> <!--{assign var=image_path value="`$arrItemHistory[cnt].main_list_image`"}--> <!--{else}--> <!--{assign var=image_path value="`$smarty.const.NO_IMAGE_DIR`"}--> <!--{/if}--> <a href="<!--{$smarty.const.DETAIL_P_HTML}--><!--{$arrItemHistory[cnt].product_id}-->"> <img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$image_path|sfRmDupSlash}-->&width=65&height=65" alt="<!--{$arrItemHistory[cnt].name|escape}-->" /> </a> <!--{assign var=price02_min value=`$arrItemHistory[cnt].price02_min`}--> <!--{assign var=price02_max value=`$arrItemHistory[cnt].price02_max`}--> <h3><a href="<!--{$smarty.const.DETAIL_P_HTML}--><!--{$arrItemHistory[cnt].product_id}-->"><!--{$arrItemHistory[cnt].name|escape}--></a></h3> <p>価格<span class="mini">(税込)</span>:<span class="price"> <!--{if $price02_min == $price02_max}--> <!--{$price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}--> <!--{else}--> <!--{$price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->〜<!--{$price02_max|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}--> <!--{/if}-->円</span></p> <p class="mini"><!--{$arrItemHistory[cnt].comment|escape|nl2br}--></p> </div> <!-- /左列 --> <!--{/if}--> <!--{/if}--> <!--{if ($smarty.section.cnt.index % 2) != 0}--> <!--{* assign var=nextCnt value=$smarty.section.cnt.index+1 *}--> <!--{if $arrItemHistory[cnt].product_id}--> <!-- 右列 --> <div class="whoboughtright"> <a href="<!--{$smarty.const.DETAIL_P_HTML}--><!--{$arrItemHistory[cnt].product_id}-->"> <!--{if $arrItemHistory[cnt].main_list_image != ""}--> <!--{assign var=image_path value="`$arrItemHistory[cnt].main_list_image`"}--> <!--{else}--> <!--{assign var=image_path value="`$smarty.const.NO_IMAGE_DIR`"}--> <!--{/if}--> <img src="<!--{$smarty.const.SITE_URL}-->resize_image.php?image=<!--{$image_path|sfRmDupSlash}-->&width=65&height=65" alt="<!--{$arrItemHistory[cnt].name|escape}-->" /> </a> <!--{assign var=price02_min value=`$arrItemHistory[cnt].price02_min`}--> <!--{assign var=price02_max value=`$arrItemHistory[cnt].price02_max`}--> <h3><a href="<!--{$smarty.const.DETAIL_P_HTML}--><!--{$arrItemHistory[cnt].product_id}-->"><!--{$arrItemHistory[cnt].name|escape}--></a></h3> <p>価格<span class="mini">(税込)</span>:<span class="price"> <!--{if $price02_min == $price02_max}--> <!--{$price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}--> <!--{else}--> <!--{$price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->〜<!--{$price02_max|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}--> <!--{/if}-->円</span></p> <p class="mini"><!--{$arrItemHistory[cnt].comment|escape|nl2br}--></p> </div> <!-- /右列 --> <!--{/if}--> <!--{/if}--> <!--{/section}--> </div> </div> <!--{/if}--> 追記したのは詳細ページに追記したものをコピーしております。 ここまでで一覧ページには変化はなしで、通常通り商品一覧が 表示されているだけです。 どうぞよろしくお願いいたします。 |
tonton |
投稿日時: 2009/3/21 14:36
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 最近チェックした商品の履歴表示 私が動作できたバージョンは、2.3.0rc1だったため、2.3.4のバージョンでテスト環境を作って(自分のためにもいずれ必要と思われたので)やってみました。
すみません。書き込み内容が勘違いだったので、削除しました。 ソースを追っていたところ、他のカスタマイズで、LC_Page_Products_List_Ex.phpにコードを追加していたのを忘れていました。(2.3.4テスト環境は、本番と同じベースでソースを持ってきて作成したので、カスタマイズもそのままなんです;) LC_Page_Products_List_Ex.phpの該当箇所に、 //2008.04.11 商品閲覧履歴取得 $this->Get_ItemHistory(); こっちのソースだけ追加して(最下部に追加する長いソースは、LC_Page_Products_List.phpのほうでOK)LISTページでも表示できています。 クッキーが読み出せていなかったのは、LC_Page_Products_List_Ex.phpのコードが優先して使用されていたからでした;; ですので、コードは、こちらで紹介されているもので、2.3.4でも使用可能だと思います。 LC_Page_Products_List_Ex.phpに、他のカスタマイズでLC_Page_Products_List.phpのコードをコピーして使用したりしていないでしょうか?その場合は、LC_Page_Products_List.phpに加えたカスタマイズをLC_Page_Products_List_Ex.phpにすれば、動作すると思います。 現象が違う場合は、教えてください。もう少し細かく見てみたいと思います。 |
arts |
投稿日時: 2009/3/21 14:42
対応状況: 解決済
|
長老 ![]() ![]() 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: 最近チェックした商品の履歴表示 お返事どうもありがとうございます!
あれから色々試したのですが表示はされませんでしたが ブロックに記述してレイアウトで一覧ページに置いて 何とか表示だけはできました。 とりあえずは、これで様子みようと思います。 どうもありがとうございました。 |
tonton |
投稿日時: 2009/3/21 14:50
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 最近チェックした商品の履歴表示 先の私のレスに間違いがありましたので、訂正しました。
|
arts |
投稿日時: 2009/3/21 15:06
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: 最近チェックした商品の履歴表示 今確認をしてみたのですが
LC_Page_Products_List_Ex.php というファイルが見当たりません。/data/class/pages/の中には見当たりませんでした。 バージョンは2.3.3です。 どうぞよろしくお願い致します。 |
tonton |
投稿日時: 2009/3/21 15:14
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 最近チェックした商品の履歴表示 拡張ファイルは、全て、data/class_extends/にあります。
その中に、全て○○_ectendsという名称のフォルダにCLASSファイルと同じ構造で格納されています。 こちらのカスタマイズをされていないようでしたら、関係ないのでしょうね。 う〜む。このテンプレートソースは、特にテンプレの階層構造とかが問題になる部分はないので、ブロックで表示されているなら、listページに直接書いても表示されるはずなんですけど・・・ |
seasoft |
投稿日時: 2009/3/21 20:39
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 最近チェックした商品の履歴表示 引用:
次に もしかして、 /html/user_data/packages/default/list.tpl が存在していたりしませんか? 存在していたら、そちらを書き換える必要があります。 参考: http://seasoft.jp1.cx/ec/tips/editfiles
|
« 1 2 3 4 (5) 6 » |
| 新しいものから | 前のトピック | 次のトピック | トップ |