バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

| 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
KO-HEI
投稿日時: 2011/11/9 22:22
対応状況: −−−
新米
登録日: 2007/12/17
居住地:
投稿: 8
Re: 最近チェックした商品の履歴表示
EC-CUBEバージョン 2.4.1
PHPバージョン PHP 5.2.12
DBバージョン PostgreSQL 8.3.8

上記バージョンでサイトを運営しております。
この機能はとてもいい機能だと思い、サイトでも使用しておりますが、バグ(と言っていいのかわかりませんが・・・)を発見してしまいました。

登録されていない(もしくは非表示になっている)商品ページを参照した場合、何も表示されない部分が出てきてしまいます。
基本的には登録されていない商品ページを参照すること自体稀なことだとは思いますが、リンク切れやブックマーク等から非表示設定の商品ページを参照することもあると思います。

またシステムエラー等が発生した場合、同様に空のtableが常に表示されてしまいます。

前者のエラーは他のページを参照していくにつれクッキーから消えていくので最悪気にしなくても表示されなくなりますが、後者についてはクッキーに保存されている様子もなく対処の仕方がわかりません。

何か対応策は御座いますでしょうか。。。
hitman
投稿日時: 2011/1/19 0:25
対応状況: −−−
半人前
登録日: 2008/6/17
居住地:
投稿: 20
Re: 最近チェックした商品の履歴表示
EC-CUBEバージョン 1.4.6
PHPバージョン PHP 5.2.6
DBバージョン MySQL 5.0.67

2系に関してはかなりの数のサイトで方法が紹介されていますが、1系のクッキー保存版は無いのでしょうか?
具体的なソースを紹介しているサイトや方法をご存知の方、情報をよろしくお願いします。

調べたのですが見つかりませんでした。
hiro0924
投稿日時: 2011/1/18 11:05
対応状況: −−−
新米
登録日: 2010/12/31
居住地:
投稿: 5
Re: 最近チェックした商品の履歴表示
さっそくのお返事ありがとうございます。
SHIGEさんの方法で、商品詳細ページ、商品ページにブロックを配置して表示させることはできたのですが、フッター部分にブロックをincludeしたら表示させることができないか考えています。
とりあえずやってみたことは下記になります。

?ブロックにcheck_products.tplを作成
<!--▼閲覧履歴ここから-->
<!--{if $arrItemHistory}-->
<div id="whoboughtarea">
<h2><img src="<!--{$TPL_DIR}-->img/products/title_recommend.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 ($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}-->


</div>
<!--{/if}-->
<!--{/section}-->

</div>
<!--{/if}-->


?LC_Page_Products_Detail.phpとLC_Page_Products_Detail_EX.phpをコピーしてLC_Page_Products_Detail2.phpとLC_Page_Products_Detail2_EX.phpにする
※中身もLC_Page_Products_Detail→LC_Page_Products_Detail2などに編集

?LC_Page_Products_Detail2.phpに以下を追記
function init() {
parent::init();
$bloc_file = 'check_products.tpl';
$this->setTplMainpage($bloc_file);
}

?/frontparts/bloc/check_products.phpを作成。

<?php

// {{{ requires
require_once(CLASS_EX_PATH . "page_extends/products/LC_Page_Products_Detail2_Ex.php");

// }}}
// {{{ generate page

$objPage = new LC_Page_Products_Detail2_Ex();
register_shutdown_function(array($objPage, "destroy"));
$objPage->init();
$objPage->process();

?>

?dt_blocのphp_pathフィールドの値をfrontparts/bloc/check_products.phpにする

?管理画面のヘッダー・フッター編集のフッター部分に<!--{include_php file=`$smarty.const.HTML_PATH`frontparts/bloc/check_products.php}-->を挿入

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1276&forum=6&viewmode=flat&order=ASC&start=0
をまねてうまくいくかなと思いましたが見事にエラーになりました。
ただこれがうまくいっても商品詳細ページ、商品ページだけ表示されると思うので、全てのページで適用させるにはどうしたらいいでしょうか。
ご教授お願いいたします。


AMUAMU
投稿日時: 2011/1/18 0:18
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 最近チェックした商品の履歴表示
まずはどのようにして、どのようにうまく行かないかを書くとお答え出来るかもしれません。
また下記を一読されて質問されると良いと思います。
http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

hiro0924
投稿日時: 2011/1/17 23:59
対応状況: −−−
新米
登録日: 2010/12/31
居住地:
投稿: 5
Re: 最近チェックした商品の履歴表示
こんにちわ。
かなり昔のスレッドですが、とてもすばらしい機能ですね。
商品詳細ページ、商品ページ対応について記載がありますが、常に表示させたいのでフッター部分に設置したいのですが、色々やってみてもうまくいきません。
ご教授お願いいたします。
seasoft
投稿日時: 2009/6/27 20:33
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 最近チェックした商品の履歴表示
引用:

Gbiledgeさんは書きました:
よろしければ、NULLチェックコードの追記方法を教えていただけないでしょうか?

宜しくお願いします!!!

マルチポスト誘導
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=4195&forum=5


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

Gbiledge
投稿日時: 2009/6/27 15:49
対応状況: −−−
常連
登録日: 2009/4/25
居住地:
投稿: 55
Re: 最近チェックした商品の履歴表示
よろしければ、NULLチェックコードの追記方法を教えていただけないでしょうか?

宜しくお願いします!!!
arts
投稿日時: 2009/3/24 23:14
対応状況: −−−
長老
登録日: 2009/2/7
居住地:
投稿: 268
Re: 最近チェックした商品の履歴表示
お返事ありがとうございました。
ご指摘の/html/user_data/packages/default/list.tplが
存在していました。
そちらに追記などしてみましたが、思うようにいかなかったのですが、とりあえずブロック表示で表示されることが分かりましたので、しばらくはそれでやってみようと思います。
class_extendsを本当は書き換えたほうが良いのですね
知りませんでしたので大変助かりました。
どうもありがとうございました
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
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

tonton
投稿日時: 2009/3/21 15:14
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: 最近チェックした商品の履歴表示
拡張ファイルは、全て、data/class_extends/にあります。

その中に、全て○○_ectendsという名称のフォルダにCLASSファイルと同じ構造で格納されています。

こちらのカスタマイズをされていないようでしたら、関係ないのでしょうね。

う〜む。このテンプレートソースは、特にテンプレの階層構造とかが問題になる部分はないので、ブロックで表示されているなら、listページに直接書いても表示されるはずなんですけど・・・
(1) 2 3 4 ... 6 »
| 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
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.