バージョン選択

フォーラム

メニュー

オンライン状況

72 人のユーザが現在オンラインです。 (64 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 72
もっと...

サイト内検索

 > フロント機能 > 最近チェックした商品の履歴表示

フロント機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
seasoft
投稿日時: 2009/3/20 23:04
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 最近チェックした商品の履歴表示
先の書き込みで掲載されたのは *.php のソースかと思いますが、*.tpl も書き換えましたか?

通常のカスタマイズだと、両方書き換えが必要だと思いますので。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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
居住地:
投稿: 7367
Re: 最近チェックした商品の履歴表示
引用:
次に
/data/Smarty/templates/default/list.tplの一番最後
</ul><!--件数ここまで-->
<!--{/if}-->
</form>
</div>
の下に下記を追記しました。

もしかして、
/html/user_data/packages/default/list.tpl
が存在していたりしませんか?

存在していたら、そちらを書き換える必要があります。

参考: http://seasoft.jp1.cx/ec/tips/editfiles


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

« 1 2 3 4 (5) 6 »
| 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,711名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.