バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > フロント機能 > カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
klog
投稿日時: 2014/4/13 22:15
対応状況: −−−
新米
登録日: 2014/4/13
居住地:
投稿: 2
カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について
--------------------------
[ECCUBE] 2.13.1
[DB] MySQL 5.5
[PHP] PHP5.2
--------------------------
PHP初心者につき大変恐縮ですが、お力添えをいただけると幸いです。
デフォルトの状態でカテゴリを全表示したく、category_tree_fork.tplをカスタマイズしていたのですが
行き詰ってしまいました。
ループ構造がわからず、うまくHTMLタグを入れ子にできません。
カテゴリを2階層まで以下のように表示させたいと思っております。

<h2 class="level1">親aaa</h2>
<ul>
<li class="level2">子bbb</li>
<li class="level2">子ccc</li>
<li class="level2">子ddd</li>
<li class="level2">子eee</li>
<li class="level2">子fff</li>
</ul>

<h2 class="level1">親ggg</h2>
<ul>
<li class="level2">子hhh</li>
<li class="level2">子iii</li>
<li class="level2">子jjj</li>
<li class="level2">子kkk</li>
</ul>

皆様お忙しい中恐縮ですが、お助けいただけると大変うれしいです。
何卒よろしくお願いいたします。
sumida
投稿日時: 2014/4/13 22:27
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 638
Re: カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について
常に表示するのであれば、以下のコードのdisp_childを「1」に固定すれば良いのでは。

                <!--{if in_array($child.category_id, $arrParentID)}-->
                    <!--{assign var=disp_child value=1}-->
                <!--{else}-->
                    <!--{assign var=disp_child value=0}-->
                <!--{/if}-->
klog
投稿日時: 2014/4/13 22:44
対応状況: −−−
新米
登録日: 2014/4/13
居住地:
投稿: 2
Re: カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について
sumida様
ご回答をいただき心より感謝申し上げます。

すみません、質問が言葉足らずで大変恐縮なのですが
親カテゴリの場合、
<h2 class="level1">親aaa</h2>

その子カテゴリの場合
<ul>
<li class="level2">子bbb</li>
<li class="level2">子ccc</li>
<li class="level2">子ddd</li>
<li class="level2">子eee</li>
<li class="level2">子fff</li>
</ul>

と別タグでくくりたい考えております。
どうしても意図したループがおこなえないため質問させていただきました。
申し訳ございません。
sumida
投稿日時: 2014/4/14 16:23
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 638
Re: カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について
とりあえず、こんなんでどうでしょう?
動作確認はしていません。

        <!--{foreach from=$children item=child}-->
            <!--{if $child.level == 1}-->
                <h2 class="level<!--{$child.level}--><!--{if in_array($child.category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
                </h2>
                <!--{if isset($child.children|smarty:nodefaults)}-->
                    <ul>
                        <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/category_tree_fork.tpl" children=$child.children}-->
                    </ul>
                <!--{/if}-->
            <!--{else}-->
                <li class="level<!--{$child.level}--><!--{if in_array($child.category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
                    <p><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$child.category_id}-->"<!--{if in_array($child.category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$child.category_name|h}-->(<!--{$child.product_count|default:0}-->)</a></p>
                </li>
            <!--{/if}-->
        <!--{/foreach}-->
468
投稿日時: 2014/4/23 23:18
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 630
Re: カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について
こんにちは。
久しぶりに、カテゴリの常時展開をしようと思ったらver2.13.1だとtplのファイル構成まで変わっていたので、参考がないかな?と調べていたら、こちらを見つけました。

微妙にやりたかったこととは違ったのですが、タイトル的には丁度良いと思ったので、一応、カテゴリ階層の常時展開のやり方を書いておきます。

/data/Smarty/templates/***/frontparts/bloc/category_tree_fork.tpl




<!--{strip}-->
<ul <!--{if $treeID != ""}-->id="<!--{$treeID}-->"<!--{/if}--> style="<!--{if !$display}-->display: none;<!--{/if}-->">
<!--{foreach from=$children item=child}-->
<li class="level<!--{$child.level}--><!--{if in_array($child.category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
<p><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$child.category_id}-->"<!--{if in_array($child.category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$child.category_name|h}-->(<!--{$child.product_count|default:0}-->)</a></p>
<!--{if $child.level<$disp_level}-->
<!--{assign var=disp_child value=1}-->
<!--{else}-->
<!--{assign var=disp_child value=0}-->
<!--{/if}-->
<!--{if isset($child.children|smarty:nodefaults)}-->
<!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/category_tree_fork.tpl" children=$child.children display=$disp_child disp_level=$disp_level}-->
<!--{/if}-->
</li>
<!--{/foreach}-->
</ul>
<!--{/strip}-->


とやってから、


/data/Smarty/templates/***/frontparts/bloc/category.tpl




<!--{strip}-->
<div class="block_outer">
<div id="category_area">
<div class="block_body">
<h2><img src="<!--{$TPL_URLPATH}-->img/title/tit_bloc_category.gif" alt="商品カテゴリ" /></h2>
<!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/category_tree_fork.tpl" children=$arrTree treeID="" display=1 disp_level=1}-->
</div>
</div>
</div>
<!--{/strip}-->


とやって、

disp_level=1


の所の数字(階層)を1〜5で変えれば好きな階層までを常時展開に出来るかも。


disp_level=1・・・1階層まで展開(デフォルト状態)
disp_level=2・・・2階層まで展開
disp_level=3・・・3階層まで展開
disp_level=4・・・4階層まで展開
disp_level=5・・・5階層まで展開


という感じ。


ちなみに、category.tplは管理画面のブロック編集で触れるので、簡単に展開階層を変える事が
できるかも。。。

以上です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は19,664名です
総投稿数は82,195件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1632
4
yuh
1372
5
red
1059
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
782
10
umebius
671
11
tao_s
646
12 sumida 638
13
homan
633
14
468
630
15 karin 609
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.