投稿者 |
スレッド |
youchan |
投稿日時: 2013/3/8 17:43
対応状況: −−−
|
新米 登録日: 2013/3/8 居住地: 投稿: 10 |
カテゴリー表示について はじめまして。 現在カテゴリー表示でうまくいかず書き込みさせてもらいました。 やりたいことは親カテゴリーは表示させず、子と孫だけのカテゴリーを表示させたいのですが、うまくいきません 子と孫だけのカテゴリー表示の例: ------------------------ 子1 ------------------------ 孫(29) 孫(58) 孫(49) 孫(88) 孫(259) 孫(251) ------------------------ ------------------------ 子2 ------------------------ 孫(26) 孫(199) 孫(309) 孫(346) ------------------------ ------------------------ 子3 ------------------------ 孫(2) 孫(194) 孫(312) 孫(225) ------------------------ 色々調べてcategory.tplを <!--{if $arrTree[cnt].display == 1 || $arrTre[cnt].level <=2}--> と変更したのですが、 親カテゴリーが出ないようにするにはどうしたらいいのでしょうか? アドバイスいただけたら、ありがたいです。 宜しくお願いします。
|
|
|
bratech |
投稿日時: 2013/3/8 23:52
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: カテゴリー表示について EC-CUBEのバージョンが分からないので合っているか分かりませんが 12系であれば次のように変えてみてはいかがでしょうか? 50行目あたり 引用: <!--{/section}--> </li> <!--{/if}-->
↓に変更 引用: <!--{/section}--> <!--{if $level != 1}--> </li> <!--{/if}--> <!--{/if}-->
52行目あたり 引用: <li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->"> <p> <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a> </p>
↓に変更 引用: <!--{if $level != 1}--> <li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->"> <p> <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a> </p> <!--{/if}-->
67行目あたり 引用: <!--{else}--> </li> <!--{/if}-->
↓に変更 引用: <!--{else}--> <!--{if $level != 1}--> </li> <!--{/if}--> <!--{/if}-->
当方の環境ではご希望の表示を実現できていますが あまり検証とかもしていないのでタグの整合性がおかしくなるかもしれません。 ご参考まで。 ---------------- ★売れる通販サイト作ります! ======================== (株)ブラテック EC-CUBEカスタマイズサービス http://www.bratech.co.jp/lpo/eccube.html ==============================================
|
|
|
youchan |
投稿日時: 2013/3/9 4:23
対応状況: −−−
|
新米 登録日: 2013/3/8 居住地: 投稿: 10 |
Re: カテゴリー表示について bratech様、アドバイスありがとうございます EC-CUBEのバージョン、記載していませんでした。 すいません。バージョンは2.12.3です。 色々と試行錯誤をして、良い感じになってきましたが、 どうしても親が表示されてしまいます
<div class="block_outer">
<div id="category_area">
<div class="block_body">
<h2><center>商品カテゴリ</center></h2>
<!--{strip}-->
<ul id="categorytree">
<!--{assign var=preLev value=1}-->
<!--{assign var=firstdone value=0}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{if $arrTree[cnt].display == 1 || $arrTre[cnt].level <=3}-->
<!--{assign var=level value=`$arrTree[cnt].level`}-->
<!--{assign var=levdiff value=`$level-$preLev`}-->
<!--{if $levdiff > 0}-->
<ul>
<!--{elseif $levdiff == 0 && $firstdone == 1}-->
</li>
<!--{elseif $levdiff < 0}--> <!--{section name=d loop=`$levdiff*-1`}-->
</li>
</ul>
<!--{/section}-->
<!--{if $level != 1}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{if $level != 2}-->
<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a><br>
<!--{else}-->
<div id="category_area">
<div class="block_body"> <h2><center><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id,$tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a></center></h2></div>
<!--{/if}-->
<!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}--> <!--{assign var=preLev value=`$level`}-->
<!--{/if}-->
<!--{* セクションの最後に閉じタグを追加 *}-->
<!--{if $smarty.section.cnt.last}-->
<!--{if $preLev-1 > 0}-->
<!--{section name=d loop=`$preLev-1`}-->
</li>
</ul>
<!--{/section}-->
</li>
<!--{else}-->
<!--{if $level != 1}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{/if}-->
<!--{/section}-->
</ul>
<!--{/strip}-->
</div>
</div>
</div>
長いコード書いてすいません。 あともう少しなのですが お分かりでしたらご伝授お願いします
|
|
|
bratech |
投稿日時: 2013/3/9 23:14
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: カテゴリー表示について 1か所 引用: とされている場所がありますが、ここを 引用: としてもダメでしょうか? それとも何か別の意図があっての事なのでしょうか? 当方でも詳しく検証している訳でもないのでそもそものやり方に問題があるかもしれませんが・・・ ---------------- ★売れる通販サイト作ります! ======================== (株)ブラテック EC-CUBEカスタマイズサービス http://www.bratech.co.jp/lpo/eccube.html ==============================================
|
|
|
youchan |
投稿日時: 2013/3/11 17:42
対応状況: −−−
|
新米 登録日: 2013/3/8 居住地: 投稿: 10 |
Re: カテゴリー表示について bratech様、返信遅くなりまして申し訳ありません 現状色々試したのですが、うまくいってない状況です。 今は、ひ孫出てる状況です。 希望の形 ------------------------ 子1 ------------------------ 孫1(29) 孫1(58) 孫1(49) 孫1(88) 孫1(259) 孫1(251) ------------------------ ------------------------ 子2 ------------------------ 孫2(26) 孫2(199) 孫2(309) 孫2(205) 孫2(346) ------------------------ 現状は ------------------------ 親1 ------------------------ ------------------------ 子1 ------------------------ 孫1(29) ひ孫1(8) ひ孫1(18) ひ孫1(30) 孫1(58) ひ孫1(13) ひ孫1(20) ひ孫1(25) 孫1(49) ひ孫1(5) ひ孫1(10) ひ孫1(35) ... ------------------------ ------------------------ 親2 ------------------------ ------------------------ 子2 ------------------------ 孫2(26) ひ孫2(12) ひ孫2(50) 孫2(199) ひ孫2(8) ひ孫2(18) ひ孫2(30) 孫2(309) ひ孫2(8) ひ孫2(18) ひ孫2(30) ... ------------------------ です。 ややこしいですが、アドバイスいただけたら嬉しいです。 宜しくお願いします。
|
|
|
bratech |
投稿日時: 2013/3/11 21:50
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: カテゴリー表示について youchan様 なるほど。 1階層だけではなく、4階層以下も非表示にしたいという事なんですね。 こちらで確認した限りでは上記のような表示にならないので、どこか違いがあるのだと思うのですが、その違いの部分がよく分からない状況です。 現在どのような状態なのかもう1度テンプレートの記述を貼ってもらってもよろしいでしょうか? ---------------- ★売れる通販サイト作ります! ======================== (株)ブラテック EC-CUBEカスタマイズサービス http://www.bratech.co.jp/lpo/eccube.html ==============================================
|
|
|
youchan |
投稿日時: 2013/3/11 22:56
対応状況: −−−
|
新米 登録日: 2013/3/8 居住地: 投稿: 10 |
Re: カテゴリー表示について bratech様、度々ありがとうございます。 コードは↓です。
<div class="block_outer">
<div id="category_area">
<div class="block_body">
<h2><center>商品カテゴリ</center></h2>
<!--{strip}-->
<ul id="categorytree">
<!--{assign var=preLev value=0}-->
<!--{assign var=firstdone value=0}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{if $arrTree[cnt].display == 1 || $arrTre[cnt].level <=2}-->
<!--{assign var=level value=`$arrTree[cnt].level`}-->
<!--{assign var=levdiff value=`$level-$preLev`}-->
<!--{if $levdiff > 0}-->
<ul>
<!--{elseif $levdiff == 0 && $firstdone == 1}-->
</li>
<!--{elseif $levdiff < 0}-->
<!--{section name=d loop=`$levdiff*-1`}-->
</li>
</ul>
<!--{/section}-->
<!--{if $level != 1}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{if $level != 2}-->
<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?categorjava script:;y_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a><br />
<!--{else}-->
<h2><a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id,$tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a></h2>
<!--{/if}-->
<!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}-->
<!--{assign var=preLev value=`$level`}-->
<!--{/if}-->
<!--{* セクションの最後に閉じタグを追加 *}-->
<!--{if $smarty.section.cnt.last}-->
<!--{if $preLev-1 > 1}-->
<!--{section name=d loop=`$preLev-1`}-->
</li>
</ul>
<!--{/section}-->
</li>
<!--{else}-->
<!--{if $level != 1}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{/if}-->
<!--{/section}-->
</ul>
<!--{/strip}-->
</div>
</div>
</div>
|
|
|
bratech |
投稿日時: 2013/3/11 23:05
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: カテゴリー表示について youchan様 ありがとうございます。 1度以下のように書き換えて試して頂けませんか? 引用:
<div class="block_outer"> <div id="category_area"> <div class="block_body"> <h2><center>商品カテゴリ</center></h2> <!--{strip}--> <ul id="categorytree"> <!--{assign var=preLev value=0}--> <!--{assign var=firstdone value=0}--> <!--{section name=cnt loop=$arrTree}--> <!--{* 表示フラグがTRUEなら表示 *}--> <!--{if $arrTre[cnt].level <=3}--> <!--{assign var=level value=`$arrTree[cnt].level`}--> <!--{assign var=levdiff value=`$level-$preLev`}--> <!--{if $levdiff > 0}--> <ul> <!--{elseif $levdiff == 0 && $firstdone == 1}--> </li> <!--{elseif $levdiff < 0}--> <!--{section name=d loop=`$levdiff*-1`}--> </li> </ul> <!--{/section}--> <!--{if $level != 1}--> </li> <!--{/if}--> <!--{/if}--> <!--{if $level != 1}--> <li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->"> <p> <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a> </p> <!--{/if}--> <!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}--> <!--{assign var=preLev value=`$level`}--> <!--{/if}--> <!--{* セクションの最後に閉じタグを追加 *}--> <!--{if $smarty.section.cnt.last}--> <!--{if $preLev-1 > 1}--> <!--{section name=d loop=`$preLev-1`}--> </li> </ul> <!--{/section}--> </li> <!--{else}--> <!--{if $level != 1}--> </li> <!--{/if}--> <!--{/if}--> <!--{/if}--> <!--{/section}--> </ul> <!--{/strip}--> </div> </div> </div>
---------------- ★売れる通販サイト作ります! ======================== (株)ブラテック EC-CUBEカスタマイズサービス http://www.bratech.co.jp/lpo/eccube.html ==============================================
|
|
|
youchan |
投稿日時: 2013/3/14 19:57
対応状況: −−−
|
新米 登録日: 2013/3/8 居住地: 投稿: 10 |
Re: カテゴリー表示について bratech様、返信遅くなってすいません 現状、まだ上手くいっていません。 例えば、親カテゴリー、子カテゴリー、孫カテゴリーまで表示するなら、どうゆう内容になるのでしょうか? お手数ですが、宜しくお願いします。 <div class="block_outer">
<div id="category_area">
<div class="block_body">
<h2>商品カテゴリ</h2>
<!--{strip}-->
<ul id="categorytree">
<!--{assign var=preLev value=1}-->
<!--{assign var=firstdone value=0}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{if $arrTree[cnt].display == 1|| $arrTre[cnt].level <=1}-->
<!--{assign var=level value=`$arrTree[cnt].level`}-->
<!--{assign var=levdiff value=`$level-$preLev`}-->
<!--{if $levdiff > 0}-->
<ul>
<!--{elseif $levdiff == 0 && $firstdone == 1}-->
</li>
<!--{elseif $levdiff < 0}-->
<!--{section name=d loop=`$levdiff*-1`}-->
</li>
</ul>
<!--{/section}-->
<!--{if $level != 1}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{if $level != 1}-->
<li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
<p>
<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a>
</p>
<!--{/if}-->
<!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}--> <!--{assign var=preLev value=`$level`}-->
<!--{/if}-->
<!--{* セクションの最後に閉じタグを追加 *}-->
<!--{if $smarty.section.cnt.last}-->
<!--{if $preLev-1 > 0}-->
<!--{section name=d loop=`$preLev-1`}-->
</li>
</ul>
<!--{/section}-->
</li> <!--{else}-->
<!--{if $level != 1}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{/if}-->
<!--{/section}-->
</ul>
<!--{/strip}-->
</div>
</div>
</div>
|
|
|
bratech |
投稿日時: 2013/3/14 22:42
対応状況: −−−
|
長老 登録日: 2008/11/28 居住地: 福岡 投稿: 223 |
Re: カテゴリー表示について こんばんは。 今見直してみるともっと簡単に書ける気がしますね・・・ 引用:
<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> <!--{strip}--> <ul id="categorytree"> <!--{assign var=preLev value=1}--> <!--{assign var=firstdone value=0}--> <!--{section name=cnt loop=$arrTree}--> <!--{* 表示フラグがTRUEなら表示 *}--> <!--{if $arrTree[cnt].level <=3}--> <!--{assign var=level value=`$arrTree[cnt].level`}--> <!--{assign var=levdiff value=`$level-$preLev`}--> <!--{if $levdiff > 0}--> <ul> <!--{elseif $levdiff == 0 && $firstdone == 1}--> </li> <!--{elseif $levdiff < 0}--> <!--{section name=d loop=`$levdiff*-1`}--> </li> </ul> <!--{/section}--> </li> <!--{/if}--> <li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->"> <p> <a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a> </p> <!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}--> <!--{assign var=preLev value=`$level`}--> <!--{/if}--> <!--{* セクションの最後に閉じタグを追加 *}--> <!--{if $smarty.section.cnt.last}--> <!--{if $preLev-1 > 0}--> <!--{section name=d loop=`$preLev-1`}--> </li> </ul> <!--{/section}--> </li> <!--{else}--> </li> <!--{/if}--> <!--{/if}--> <!--{/section}--> </ul> <!--{/strip}--> </div> </div> </div>
もともとの記述が 引用:
<!--{if $arrTree[cnt].display == 1}-->
こう書かれていたところを 引用:
<!--{if $arrTree[cnt].level <=3}-->
このように書き直しただけです。 ちなみに2階層と3階層(子、孫にあたる部分)だけを表示するのはこちらで実現できるのではないかと思います。 引用:
<!--{if $arrTree[cnt].level <=3 && $arrTree[cnt].level > 1}-->
youchan様の場合ですと 引用:
<!--{if $arrTree[cnt].display == 1|| $arrTre[cnt].level <=1}-->
この部分です。 お試しください。 ---------------- ★売れる通販サイト作ります! ======================== (株)ブラテック EC-CUBEカスタマイズサービス http://www.bratech.co.jp/lpo/eccube.html ==============================================
|
|
|