質問 > フロント機能 > カテゴリ全表示のための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 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について 常に表示するのであれば、以下のコードのdisp_childを「1」に固定すれば良いのでは。
|
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 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: カテゴリ全表示のためのcategory_tree_fork.tpl変更方法について とりあえず、こんなんでどうでしょう?
動作確認はしていません。
|
468 |
投稿日時: 2014/4/23 23:18
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
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は管理画面のブロック編集で触れるので、簡単に展開階層を変える事が できるかも。。。 以上です。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |