バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > [2.11.1]おすすめ商品ブロックで売り切れ表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
newwalk
投稿日時: 2011/6/3 13:11
対応状況: −−−
半人前
登録日: 2008/11/30
居住地:
投稿: 11
[2.11.1]おすすめ商品ブロックで売り切れ表示
------------------------------------------------------------------------------------------
[EC-CUBE] 2.11.1
[レンタルサーバ] hetml
[OS] mac10
[PHP] PHP 5.2.8
[データベース] MySQL 5.0.82
------------------------------------------------------------------------------------------

こんにちは。
2.4.4にて制作していましたが、EC-CUBEに新しいバージョンが公開されていることに気づき、
2.11.1にて再度作り直そうと思ったのですが、中身が結構違っているようでまた振り出しに戻る感じです。
2.4.4ではなんとか表示できるようにはなったのですが、PHP自体素人ですので困っています。

2.4.4ではLC_Page_FrontParts_Bloc.phpの//おすすめ商品検索の

$col = "DISTINCT A.*, name, price02_min, price01_min, main_list_image";

この行にstock_maxとstock_unlimited_maxを追加して

$col = "DISTINCT A.*, name, price02_min, price01_min, main_list_image, stock_max, stock_unlimited_max";

上記のようにしました。

best5.tplに下記を追加で表示できました。

<!--売り切れの場合-->

<!--{if $arrBestProducts[cnt].stock_max == 0 && $arrBestProducts[cnt].stock_unlimited_max != 1}-->

<div class="item-box-soldout">
<img src="<!--{$TPL_DIR}-->img/top/soldout.gif" width="100" height="15" alt="申し訳ありませんが品切れ中です。" />
</div>
<!--{else}-->
<img src="<!--{$TPL_DIR}-->img/top/zaiko.gif" width="100" height="15" alt="在庫あります。" />
<!--{/if}-->

LC_Page_FrontParts_Bloc_Recommend.phpのファイルに良く似た場所がありますが、stock_maxやstock_unlimited_maxを追加すると
システムエラーになってしまいます。構造が変わっていることは分かっていますがどこがどうなのかがさっぱりです。
どなたかお知恵お貸し下さい。宜しくお願い致します。

fukap
投稿日時: 2011/6/3 13:33
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: [2.11.1]おすすめ商品ブロックで売り切れ表示
$arrBestProducts の中には、あらかじめ stock_max と stock_unlimited_max は含まれているようですよ。

./data/Smarty/templates/default/frontparts/bloc/recommend.tpl の、
<!--{section name=cnt loop=$arrBestProducts step=2}--> 〜 <!--{/section}--> 内に、

<!--売り切れの場合-->
<!--{if $arrBestProducts[cnt].stock_max == 0 && $arrBestProducts[cnt].stock_unlimited_max != 1}-->
<div class="item-box-soldout">
<img src="<!--{$TPL_URLPATH}-->img/top/soldout.gif" width="100" height="15" alt="申し訳ありませんが品切れ中です。" />
</div>
<!--{else}-->
<img src="<!--{$TPL_URLPATH}-->img/top/zaiko.gif" width="100" height="15" alt="在庫あります。" />
<!--{/if}-->

を入れれば実現できそうな気がします。
soldout.gif や zaiko.gif はデフォルトでは存在しないと思うので、保存しておいてください。

スマホやモバイルも行うなら、
./data/Smarty/templates/mobile/frontparts/bloc/recommend.tpl
./data/Smarty/templates/sphone/frontparts/bloc/recommend.tpl
になるでしょうか。
newwalk
投稿日時: 2011/6/3 14:01
対応状況: −−−
半人前
登録日: 2008/11/30
居住地:
投稿: 11
Re: [2.11.1]おすすめ商品ブロックで売り切れ表示
早速のご返答ありがとうございます。
私も

引用:
<!--売り切れの場合-->
<!--{if $arrBestProducts[cnt].stock_max == 0 && $arrBestProducts[cnt].stock_unlimited_max != 1}-->
<div class="item-box-soldout">
<img src="<!--{$TPL_URLPATH}-->img/top/soldout.gif" width="100" height="15" alt="申し訳ありませんが品切れ中です。" />
</div>
<!--{else}-->
<img src="<!--{$TPL_URLPATH}-->img/top/zaiko.gif" width="100" height="15" alt="在庫あります。" />
<!--{/if}-->


このソースを<!--{section name=cnt loop=$arrBestProducts step=2}--> 〜 <!--{/section}--> 内にいれて試してみたのですが、やはり在庫切れの商品まで
在庫あり表示となります。

引用:
$arrBestProducts の中には、あらかじめ stock_max と stock_unlimited_max は含まれているようですよ。


stock_maxとstock_unlimited_maxが含まれているというのはLC_Page_FrontParts_Bloc_Recommend.phpのどのあたりの表記でしょうか?
今後の参考のためにも宜しくお願い致します。
newwalk
投稿日時: 2011/6/3 14:28
対応状況: −−−
半人前
登録日: 2008/11/30
居住地:
投稿: 11
Re: [2.11.1]おすすめ商品ブロックで売り切れ表示
大変おさわがせしました。
解決できました。

ループの2回目のところの
<!--{if $arrBestProducts[$cnt2].stock_max == 0 && $arrBestProducts[cnt].stock_unlimited_max != 1}-->

$が抜けていました。お恥ずかしい。

問題は解決できたのですが、どこで読み込んでいるのかが気になります。
SC_Product.phpあたりでしょうか?質問ばかりですみませんが宜しくお願いします。
fukap
投稿日時: 2011/6/3 14:34
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: [2.11.1]おすすめ商品ブロックで売り切れ表示
最初、$arrBestProducts を var_dump() して、
stock_maxとstock_unlimited_maxが含まれているのを確認したのです。

そこで、./data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Recommend.php を見てみましたが、

// 取得
$arrProductList = $objProduct->lists($objQuery);

で、取得しているようですね。ちょっとわかりにくいです。
その後、オススメ商品情報とマージして、
$this->arrBestProducts に、stock_maxとstock_unlimited_maxが含まれてくるようです。

var_dump()して確かめてみると良いと思います。

$objProduct->lists() の起源は、仰る通り、data/class/SC_Product.php です。
newwalk
投稿日時: 2011/6/3 14:55
対応状況: −−−
半人前
登録日: 2008/11/30
居住地:
投稿: 11
Re: [2.11.1]おすすめ商品ブロックで売り切れ表示
少しですがすっきりしました。
var_dump()試してみます。

ありがとうございました。

またよろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,356名です
総投稿数は110,372件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1693
8
red
1571
9
mcontact
1364
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.