バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧ページでarrRelativeCatを使いたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
zun3581
投稿日時: 2014/6/25 11:57
対応状況: −−−
半人前
登録日: 2014/6/24
居住地:
投稿: 22
商品一覧ページでarrRelativeCatを使いたい
お世話になっております。
今現在バージョン2.12.6を使っています。

第一階層のカテゴリごとにデザインを切り替えたいなと思っております。

http://ec-cube.nakweb.com/blog/947.html

こちらの記事を参考にさせて頂きましたが商品一覧ページでは表示する事が出来ませんでした。

LC_Page_Products_List.php

// 関連カテゴリを取得
$this->arrRelativeCat[$arrProduct['product_id']] = SC_Helper_DB_Ex::sfGetMultiCatTree($arrProduct['product_id']);

を追加したところ、関連カテゴリの表示は成功したのですが、上記記事の

<!--{if count($arrRelativeCat) > 0}-->
<!--{if $arrRelativeCat.0.0.category_id == 1}-->
第一階層のカテゴリが 1 の場合のHTMLタグ
<!--{/if}--><!--{/if}-->

これは使用できませんでした。

ご教授頂けると助かります。
snitta
投稿日時: 2014/6/25 14:25
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: 商品一覧ページでarrRelativeCatを使いたい
詳細と一覧ページでは作りが異なっていますので、
一覧はこちらの方法でいかがでしょうか?
※デフォルトの 2.12.6 向けです。

data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php
class LC_Page_Products_List_Ex extends LC_Page_Products_List {
    public function doDefault($objProduct) {
        parent::doDefault($objProduct);
        
        // ルートカテゴリを取得。
        $db = new SC_Helper_DB_Ex();
        $this->rootCategory = $db->sfGetFirstCat($this->arrForm['category_id']);
    }
}


data/Smarty/templates/default/products/list.tpl
適当な個所に以下のコードを追加して下さい。

    <!--{if $rootCategory}-->
        <!--{* 以下の処理は必要に応じて変えて下さい *}-->
        ルートカテゴリのID: <!--{$rootCategory.id|h}--><br />
        ルートカテゴリの名称: <!--{$rootCategory.name|h}-->
    <!--{/if}-->



14:30 追記
テンプレート側のエスケープ処理が抜けていましたので修正いたしました。


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

shutta
投稿日時: 2014/6/25 14:37
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 商品一覧ページでarrRelativeCatを使いたい
参照されている記事は商品詳細ページでの例のようですので、商品一覧ページで実現されるのであれば、その差異の部分を調整しないと上手く動作しない気がします。

動作を確認したわけではないですが、
$arrRelativeCatを一覧の商品毎に取得されているので、


<!--{if count($arrRelativeCat[商品ID]) > 0}-->
<!--{if $arrRelativeCat[商品ID].0.0.category_id == 1}-->
第一階層のカテゴリが 1 の場合のHTMLタグ
<!--{/if}--><!--{/if}-->

のように、合致する商品ID毎に比較するようにしないといけないのではないでしょうか?


----------------

リゾート会員権(エクシブ等)の売買・仲介

zun3581
投稿日時: 2014/6/25 17:33
対応状況: −−−
半人前
登録日: 2014/6/24
居住地:
投稿: 22
Re: 商品一覧ページでarrRelativeCatを使いたい
snitta様

返信ありがとうございます。

提案して頂いた方法で試したところ、これは
・ルートカテゴリーのIDの取得
・ルートカテゴリ名称の取得
になるのでしょうか?

例えば、

Aカテ
-a1
-a2
-a3

Bカテ
-b1
-b2
-b3

Cカテ
-c1
-c2
-c3

として、

・b1にいてもb2にいても同じ物を表示させたい
・a1とb1とc1は違うものが表示させたい

使い方として
大カテゴリが5つあり、それぞれ沢山カテゴリがあるのでデザインを変更させたいという目的があります。

そして、Aのカテゴリ内にいる場合はどの階層であっても同じものを表示させたいのです。


説明が下手で申し訳御座いません。
この場合はご提案頂いたカスタマイズとはまた別のカスタマイズが必要になるのでしょうか?

zun3581
投稿日時: 2014/6/25 17:43
対応状況: −−−
半人前
登録日: 2014/6/24
居住地:
投稿: 22
Re: 商品一覧ページでarrRelativeCatを使いたい
shutta様

お返事ありがとうございます。

ご教授頂いた内容なのですが、これは商品ID毎の内容を書かないといけないと言うことでしょうか?

例えば商品ID1と入力し商品ID1がカテゴリ1の場合は「第一階層のカテゴリが 1 の場合のHTMLタグ」が表示されるが、商品ID2でカテゴリ1の場合は表示されないと言うことなのでしょうか?

知識が乏しくてすみません。
snitta
投稿日時: 2014/6/25 18:57
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: 商品一覧ページでarrRelativeCatを使いたい
引用:
提案して頂いた方法で試したところ、これは
・ルートカテゴリーのIDの取得
・ルートカテゴリ名称の取得
になるのでしょうか?


はいそうです。
ルートカテゴリは zun3581 様のおっしゃられる大カテゴリ、第一階層のカテゴリと捉えて下さい。
先述のコードで $rootCategory にその大カテゴリが格納されているはずですがダメでしたでしょうか?


引用:
使い方として
大カテゴリが5つあり、それぞれ沢山カテゴリがあるのでデザインを変更させたいという目的があります。


テンプレ側のコードを $rootCategory.id で条件分岐させればOKです。
これは一番最初にご参考にされたサイトと同じですね。

<!--{if $rootCategory.id == 1}-->
    カテゴリID1の内容
<!--{elseif $rootCategory.id == 2}-->
    カテゴリID2の内容
<!--{elseif $rootCategory.id == 3}-->
    以下省略...
<!--{/if}-->


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

zun3581
投稿日時: 2014/6/26 11:17
対応状況: 解決済
半人前
登録日: 2014/6/24
居住地:
投稿: 22
Re: 商品一覧ページでarrRelativeCatを使いたい
snitta様

返信が遅くなってしまい、誠に申し訳御座いません。

先程確認させて頂いたのですが、理想的な構造に出来ました!
ありがとうございます。

これでクライアントにも見やすいサイトが作れそうです!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.