バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2013/3/25 15:34
対応状況: −−−
おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
おすすめ商品ブロックに登録した商品の、カテゴリ名を取得したいと思っています。

http://ec-cube.nakweb.com/blog/1869.html
こちらのカスタマイズが近いのではないかと思い、流用させて頂いたのですが、うまく取得できません。

LC_Page_FrontParts_Bloc_Recommend.php
            foreach ($arrBestProducts as $key => $value) {
                $arrRow =& $arrBestProducts[$key];
                if (isset($arrProductList[$arrRow['product_id']])) {
                    $arrRow = array_merge($arrRow, $arrProductList[$arrRow['product_id']]);
                    $this->arrRelativeCat[$arrRow['product_id']] = SC_Helper_DB_Ex::sfGetMultiCatTree($arrRow['product_id']);
                } else {
                    // 削除済み商品は除外
                    unset($arrBestProducts[$key]);
                }
            }


recommend.tpl

<!--{foreach from=$arrRecommendCat[$arrItem.product_id] name=rc key=k item=i}-->
                            <!--{foreach from=$i name=rc2 key=k2 item=i2}-->
                                <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$i2.category_id|u}-->">
                                    <!--{$i2.category_name|h}-->
                                </a>
                                <!--{if !$smarty.foreach.rc2.last}--><!--{$smarty.const.SEPA_CATNAVI}--><!--{/if}-->
                            <!--{/foreach}-->
                        <!--{/foreach}-->


どのような記述をすればよいか、ご教授頂けませんでしょうか。
宜しくお願い致します。

[EC-CUBE] 2.12.3
[データベース] MySQL
[WEBサーバ] Apache
[PHP] 5.2.17
AMUAMU
投稿日時: 2013/3/26 10:50
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
参考先のURLの内容は2.12.2向けですが、2.12.3でもそのままほとんど差が無く利用が出来ると思います。

引用:
こちらのカスタマイズが近いのではないかと思い、流用させて頂いたのですが、うまく取得できません。


流用というには参考先と全く内容が違うように見えますが・・・
「うまく取得出来ない」とは具体的にどういう状況なのでしょうか?


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

[url=h

yuh
投稿日時: 2013/3/26 11:16
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
LC_Page_FrontParts_Bloc_Recommend.php
で取得したarrRelativeCatをrecommend.tplで使用していないので、recommend.tplで表示させればいけます。
ゲスト
投稿日時: 2013/3/27 18:45
対応状況: −−−
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
AMUAMU様

参考URLの内容は、おすすめ商品ブロックではなく、その他おすすめ商品だったのですが、
引用:
$arrRecommendData を展開して関連商品IDを取得している箇所があったので、そこにカテゴリ情報を取得するコードを挿入し、 カテゴリ情報を $this->arrRecommendCat に代入しています。

と解説にありましたので、
$arrRow = array_merge($arrRow, $arrProductList[$arrRow['product_id']]);

でidを取得し、
$this->arrRelativeCat[$arrRow['product_id']] = SC_Helper_DB_Ex::sfGetMultiCatTree($arrRow['product_id']);

でカテゴリ情報を取得という形で、流用元のコードを使わせてもらいました。

dumpなどで表示をさせた所、カテゴリIDは取得できているが、カテゴリ情報を取得できていない状態です。
どのような記述をすればよいか、ご教授頂けますでしょうか。
宜しくお願い致します。
ゲスト
投稿日時: 2013/3/27 18:52
対応状況: −−−
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
yuh様

$arrRow = array_merge($arrRow, $arrProductList[$arrRow['product_id']]);
$this->arrRelativeCat[$arrRow['product_id']] = SC_Helper_DB_Ex::sfGetMultiCatTree($arrRow['product_id']);
                    var_dump($arrRelativeCat);

上記コードでNULLになるのですが、arrRelativeCatに値が入っているということで合っているのでしょうか?


また、arrRelativeCatを使用していないとのご指摘を頂きましたので
<!--{foreach from=$arrRelativeCat[$arrItem.product_id] name=rc key=k item=i}-->
                            <!--{foreach from=$i name=rc2 key=k2 item=i2}-->
                                <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$i2.category_id|u}-->">
                                    <!--{$i2.category_name|h}-->
                                </a>
                                <!--{if !$smarty.foreach.rc2.last}--><!--{$smarty.const.SEPA_CATNAVI}--><!--{/if}-->
                            <!--{/foreach}-->
                        <!--{/foreach}-->

に変更しましたが、取得出来ていない状態です。

どのような記述をすればよいか、再度ご教授願えますでしょうか。
宜しくお願い致します。
yuh
投稿日時: 2013/3/27 19:38
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい

$this->arrRelativeCat[$arrRow['product_id']] = SC_Helper_DB_Ex::sfGetMultiCatTree($arrRow['product_id']);
                    var_dump($arrRelativeCat);


$this->arrRelativeCatにデータを入れて、$arrRelativeCatをダンプしてもNULLです。

<!--{foreach from=$arrRelativeCat[$arrItem.product_id] name=rc key=k item=i}-->
                            <!--{foreach from=$i name=rc2 key=k2 item=i2}-->
                                <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$i2.category_id|u}-->">
                                    <!--{$i2.category_name|h}-->
                                </a>
                                <!--{if !$smarty.foreach.rc2.last}--><!--{$smarty.const.SEPA_CATNAVI}--><!--{/if}-->
                            <!--{/foreach}-->
                        <!--{/foreach}-->

おすすめ商品のテンプレを見ても$arrItemは使われてなさそうなんですが、$arrItem.product_idにはデータが入っていないんじゃないでしょうか?
ゲスト
投稿日時: 2013/3/28 9:24
対応状況: −−−
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
yuh様

引用:
おすすめ商品のテンプレを見ても$arrItemは使われてなさそうなんですが、$arrItem.product_idにはデータが入っていないんじゃないでしょうか?

とご指摘頂きましたので
<!--{foreach from=$arrRelativeCat[$arrProduct.product_id] name=rc key=k item=i}-->
                            <!--{foreach from=$i name=rc2 key=k2 item=i2}-->
                                <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$i2.category_id|u}-->">
                                    <!--{$i2.category_name|h}-->
                                </a>
                                <!--{if !$smarty.foreach.rc2.last}--><!--{$smarty.const.SEPA_CATNAVI}--><!--{/if}-->
                            <!--{/foreach}-->
                        <!--{/foreach}-->

と記述した所、無事に表示することができました!
ありがとうございます!
ゲスト
投稿日時: 2013/3/28 9:29
対応状況: 解決済
Re: おすすめ商品ブロックに登録した商品のカテゴリ名を取得したい
LC_Page_FrontParts_Bloc_Recommend.php
            foreach ($arrBestProducts as $key => $value) {
                $arrRow =& $arrBestProducts[$key];
                if (isset($arrProductList[$arrRow['product_id']])) {
                    $arrRow = array_merge($arrRow, $arrProductList[$arrRow['product_id']]);
                    $this->arrRelativeCat[$arrRow['product_id']] = SC_Helper_DB_Ex::sfGetMultiCatTree($arrRow['product_id']);
                } else {
                    // 削除済み商品は除外
                    unset($arrBestProducts[$key]);
                }
            }


recommend.tpl

<!--{foreach from=$arrRelativeCat[$arrProduct.product_id] name=rc key=k item=i}-->
                            <!--{foreach from=$i name=rc2 key=k2 item=i2}-->
                                <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$i2.category_id|u}-->">
                                    <!--{$i2.category_name|h}-->
                                </a>
                                <!--{if !$smarty.foreach.rc2.last}--><!--{$smarty.const.SEPA_CATNAVI}--><!--{/if}-->
                            <!--{/foreach}-->
                        <!--{/foreach}-->

上記で表示させることができました。
yuh様、AMUAMU様、ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,704名です
総投稿数は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.