バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 特定カテゴリのみを表示したい。

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Pikmin
投稿日時: 2013/6/18 18:36
対応状況: −−−
新米
登録日: 2013/6/15
居住地:
投稿: 6
Re: 特定カテゴリのみを表示したい。
namahageさま、思い通りの表示になりました!

levelの部分はいらないのですね…。

静的に設置するカテゴリボタンと、動的に設置するカテゴリリンクと
同時に設置させたく思っておりましたので、これで行けそうです!

お忙しい中、最後までおつきあいいただき、本当に感謝いたします!
namahage
投稿日時: 2013/6/18 18:29
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 特定カテゴリのみを表示したい。

<!--{if $arrTree[cnt].parent_category_id == 1 || $arrTree[cnt].category_id == 1}-->

でできないですか?
Pikmin
投稿日時: 2013/6/18 18:20
対応状況: −−−
新米
登録日: 2013/6/15
居住地:
投稿: 6
Re: 特定カテゴリのみを表示したい。
なるほど!そうですよね!!

やりたいことと言うと、親カテゴリ(ID:1)とその子カテゴリ(ID:1の子の6,8,9)を表示したいので、
このコードだと親だけしか表示しなくて当然ですね…。。

そこで、下記のコードのかわりに、
<!--{if $category==1}-->
↓
下記にしたのですが、やはり表示されず…。
<!--{if $arrTree[cnt].level <=99 && $arrTree[cnt].parent_category_id == 1 && $arrTree[cnt].category_id == 1}-->
↓
下記のように、すると子だけは表示されるようになりましたが、
親は表示されない。。
<!--{if $arrTree[cnt].level <=99 && $arrTree[cnt].parent_category_id == 1}-->



上記を踏まえまして、お忙しいところ大変恐縮ですが、、
今一度ご教授いただければ幸いです。
bratech
投稿日時: 2013/6/18 18:03
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: 特定カテゴリのみを表示したい。
全体のコードが分からないのでなんともいえませんが、

引用:

<!--{assign var=category value=`$arrTree[cnt].category_id`}-->
<!--{if $category==1}-->

<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->" class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->"><!--{$arrTree[cnt].category_name|h}--></a>

<!--{/if}-->


この記述だとカテゴリIDが「1」のものしか表示されないようになっていませんか?
もしそうなっているなら子カテゴリもそうですが、他の親カテゴリも表示されなくなってしまうと思いますので、一度確認されてみてはいかがでしょうか?


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

Pikmin
投稿日時: 2013/6/18 15:47
対応状況: −−−
新米
登録日: 2013/6/15
居住地:
投稿: 6
Re: 特定カテゴリのみを表示したい。
度々、申し訳ございませんが、、
コードを変更したのですが、やはり親カテゴリのみの表示になってしまいます。。

新規にインストールしたものでも確認してみたのですが、同じでした。。

考えられる原因ございますでしょうか??

お手数をおかけしますが、お教えいただければ幸いです。
namahage
投稿日時: 2013/6/18 10:29
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 特定カテゴリのみを表示したい。

            foreach ($arrRet as &$arrCategory) {
                if (in_array($arrCategory['category_id'], $arrDispID)) {
                    $arrCategory['display'] = 1;
                }
            }



            foreach ($arrRet as &$arrCategory) {
                    $arrCategory['display'] = 1;
            }

にすれば大丈夫です。
Pikmin
投稿日時: 2013/6/17 21:14
対応状況: −−−
新米
登録日: 2013/6/15
居住地:
投稿: 6
Re: 特定カテゴリのみを表示したい。
バージョンが違うからだと思うのですが、
該当のコードがございませんでした。。

lfGetCatTreeが、こちらのバージョンですと下記の様なコードなのですが、
同様のコード入れ替えで出来ますでしょうか?

度々お手数をおかけしますが、よろしくお願いいたします。

function lfGetCatTree($arrParentCategoryId, $count_check = false) {
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $objDb = new SC_Helper_DB_Ex();
        $col = '*';
        $from = 'dtb_category left join dtb_category_total_count ON dtb_category.category_id = dtb_category_total_count.category_id';
        // 登録商品数のチェック
        if ($count_check) {
        //    $where = 'del_flg = 0 AND product_count > 0';
			$where = "del_flg = 0";
        } else {
            $where = 'del_flg = 0';
        }
        $objQuery->setOption('ORDER BY rank DESC');
        $arrRet = $objQuery->select($col, $from, $where);
        foreach ($arrParentCategoryId as $category_id) {
            $arrParentID = $objDb->sfGetParents(
                'dtb_category',
                'parent_category_id',
                'category_id',
                $category_id
            );
            $arrBrothersID = SC_Utils_Ex::sfGetBrothersArray(
                $arrRet,
                'parent_category_id',
                'category_id',
                $arrParentID
            );
            $arrChildrenID = SC_Utils_Ex::sfGetUnderChildrenArray(
                $arrRet,
                'parent_category_id',
                'category_id',
                $category_id
            );
            $this->root_parent_id[] = $arrParentID[0];
            $arrDispID = array_merge($arrBrothersID, $arrChildrenID);
            foreach ($arrRet as &$arrCategory) {
                if (in_array($arrCategory['category_id'], $arrDispID)) {
                    $arrCategory['display'] = 1;
                }
            }
        }
        return $arrRet;
    }
namahage
投稿日時: 2013/6/17 19:35
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 特定カテゴリのみを表示したい。
LC_Page_FrontParts_Bloc_Categoryの158行目〜165行目(こちらのver 2.12.2)
lfGetCatTree関数の中にある

            foreach ($arrRet as $key => $array) {
                foreach ($arrDispID as $val) {
                    if ($array['category_id'] == $val) {
                        $arrRet[$key]['display'] = 1;
                        break;
                    }
                }
            }
を
            foreach ($arrRet as $key => $array) {
                foreach ($arrDispID as $val) {
                    $arrRet[$key]['display'] = 1;
                }
            }

で子カテゴリは表示されますよ。
Pikmin
投稿日時: 2013/6/17 18:51
対応状況: −−−
新米
登録日: 2013/6/15
居住地:
投稿: 6
Re: 特定カテゴリのみを表示したい。
bratechさま、ご返信ありがとうございます!

早速ですが、下記のようなコードを入れて見たのですが、
親カテゴリは表示されますが、子カテゴリが表示されない状態です。。

再度、ご教授いただければ幸いです。


<!--{assign var=category value=`$arrTree[cnt].category_id`}-->
<!--{if $category==1}-->

<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->" class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->"><!--{$arrTree[cnt].category_name|h}--></a>

<!--{/if}-->
bratech
投稿日時: 2013/6/17 11:51
対応状況: −−−
長老
登録日: 2008/11/28
居住地: 福岡
投稿: 223
Re: 特定カテゴリのみを表示したい。

引用:

<!--{if $category_id==2}-->のような記述で、
任意のカテゴリの親〜子のみを表示させたい。


ここまでお分かりなのであればテンプレート内の記述にもあるように


$arrTree[cnt].category_id


この記述でカテゴリIDが取得できるはずですので、
これを利用してお望みのカスタマイズにチャレンジされてみてはいかがでしょうか。

ご参考まで。


----------------
★売れる通販サイト作ります! ========================
(株)ブラテック EC-CUBEカスタマイズサービス
http://www.bratech.co.jp/lpo/eccube.html
==============================================

(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,442名です
総投稿数は110,092件です

投稿数ランキング

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