バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カテゴリー表示について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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か所

引用:


<!--{if $level != 2}-->



とされている場所がありますが、ここを

引用:


<!--{if $level != 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
==============================================

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


 



ログイン


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

統計情報

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

投稿数ランキング

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