バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カテゴリの階層を折りたたまない方法を教えて下さい!

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ecsrhm
投稿日時: 2009/2/16 14:15
対応状況: 確認中
新米
登録日: 2009/2/16
居住地:
投稿: 4
カテゴリの階層を折りたたまない方法を教えて下さい!
みなさまこんにちは。

現在サイト構築中なのですが、訪問されたユーザーに
商品カテゴリを多く見せたいと思っていますが、
親子関係にあるカテゴリって、折りたたまれて、
クリックしないと直下の階層が表示されませんよね?

一覧として折りたたまず表示させたいのですが、
どこをいじって良いかわかりません・・・。

どなたか教えて頂けませんか?
よろしくお願いいたします。
gens
投稿日時: 2009/2/16 14:59
対応状況: −−−
常連
登録日: 2007/1/1
居住地:
投稿: 32
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
デザイン管理>ブロック編集>編集可能ブロック(カテゴリ)内の
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{if $arrTree[cnt].display == 1|| $arrTre[cnt].level <=1}-->
の<=1 の数字を表示したい階層まで増やすと出来ます。
ecsrhm
投稿日時: 2009/2/16 15:25
対応状況: −−−
新米
登録日: 2009/2/16
居住地:
投稿: 4
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
ありがとうございます!非常に良きヒントになったのですが、
2.2.3を使用していまして、現状以下のソースになっており、
教えて頂いた記述がありませんでした・・。

2.2.3の場合はどこがメンテポイントになるでしょうか?
お手数おかけしますがよろしくお願いいたします。




<!--商品カテゴリーここから-->
<h2>
<img src="<!--{$TPL_DIR}-->/img/side/title_cat.jpg" width="166" height="35" alt="商品カテゴリー" />
</h2>
<div id="categoryarea">
<ul id="categorytree">
<!--{assign var=preLev value=1}-->
<!--{assign var=firstdone value=0}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{if $arrTree[cnt].display == 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}-->
</li>
<!--{/if}-->
<li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id) }--> onmark<!--{/if}-->"><a href="<!--{$smarty.const.URL_DIR}-->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|escape}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a>
<!--{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>
</div>
<!--商品カテゴリーここまで-->
homan
投稿日時: 2009/2/17 9:28
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
一番もっとも簡単で単純に実現するならば、以下の赤文字2か所のように変更してみてください(でも実際には試してません)

<!--商品カテゴリーここから-->
<h2>
<img src="<!--{$TPL_DIR}-->/img/side/title_cat.jpg" width="166" height="35" alt="商品カテゴリー" />
</h2>
<div id="categoryarea">
<ul id="categorytree">
<!--{assign var=preLev value=1}-->
<!--{assign var=firstdone value=0}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{* if $arrTree[cnt].display == 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}-->
</li>
<!--{/if}-->
<li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id) }--> onmark<!--{/if}-->"><a href="<!--{$smarty.const.URL_DIR}-->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|escape}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a>
<!--{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>
</div>
<!--商品カテゴリーここまで-->


おそらく大丈夫だと思いますが、
もし、画面が真っ白になったりした場合は、元に戻してください。なにをやったかというと、
単純にすべてのカテゴリが表示されるように、
条件部分をコメントアウトしました。

ちなみに、gens様がおっしゃったのは赤文字の1か所目の部分を、変更してくださいという意味です。
もし第2階層までを表示したい・・・など細かいことをしたいならば、gens様がおっしゃるような方法に変更した方がいいと思います。
levelというのが階層のことで、
1だと第1階層、2だと第2階層という感じです。

蛇足ですが、EC-CUBEのデフォルトの機能で、
カテゴリを登録されてもそのカテゴリに商品が1つも所属していない場合は、
カテゴリ自体が表示されませんのでご注意を。


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

ecsrhm
投稿日時: 2009/2/17 16:11
対応状況: −−−
新米
登録日: 2009/2/16
居住地:
投稿: 4
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
皆様、色々とご教示頂きまして本当にありがとうございました!
gens様、homan様、貴重なご意見ありがとうございました。
お力拝借し、思ったかたちのカテゴリ作成ができました。

本当にありがとうございました!!!
miruku
投稿日時: 2009/3/9 15:58
対応状況: −−−
新米
登録日: 2009/3/9
居住地:
投稿: 6
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
はじめまして!
homanさんが書かれているように、すでに私自身で修正して、カテゴリーの階層をすべて表示にしていました。
しかし、あまりにカテゴリーが増えすぎた為に、gensさんの書き込みを参考に修正しました。

ところがどうしてか、カテゴリーが全表示のままになっています。
homanさんが書かれているコメントアウトしている部分を元に戻しても(デフォルト状態です)なぜか全表示のままです。

理想はgensさんが書かれているようにしたいのですが、行き詰ってお手上げ状態です。
他力本願で大変失礼なのですが、わかる方がいらっしゃいましたら教えていただけないでしょうか。
よろしくお願いいたします。

■環境
EC-CUBE :2.2.0-beta
MySQL :4.1.22
PHP :4.4.9
seasoft
投稿日時: 2009/3/9 17:22
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
もしかして FTP で上書きしてます? 管理機能の編集ファイルが優先されますよ。
参考: http://seasoft.jp1.cx/ec/tips/editfiles


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

miruku
投稿日時: 2009/3/10 15:15
対応状況: −−−
新米
登録日: 2009/3/9
居住地:
投稿: 6
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
早速のお返事ありがとうございます。

管理画面で行っているのですが、ダメでした。
上記レスのソースをそのまま貼り付けても同様です。
以前カスタマイズした部分で、不具合がでているのでしょうか?

もう少し調べてみます。
seasoft
投稿日時: 2009/3/11 3:17
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
> 上記レスのソースをそのまま貼り付けても同様です。
> 以前カスタマイズした部分で、不具合がでているのでしょうか?

既に試されたかもしれませんが、ダウンロードした初期状態のファイルのコードで試してみては?
また、上書きした内容がフロントに適用されていることは、何らかの方法で確認済みですか?


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

miruku
投稿日時: 2009/3/11 14:35
対応状況: −−−
新米
登録日: 2009/3/9
居住地:
投稿: 6
Re: カテゴリの階層を折りたたまない方法を教えて下さい!
何度もお返事をいただいてすいません。
状況が少し変わりました。

管理画面のブロック編集で操作していたのですが、デフォルトのソースにしたら、初期の表示状態に戻りました。

その後ソ−スをgensさんの書かれていた
<!--{if $arrTree[cnt].display == 1|| $arrTre[cnt].level <=1}-->
に修正したら、三階層まであるカテゴリがすべて表示されました。
ソースの数字を2や3にしても同じでした。
ファイル管理からソースをアップロードしても同様な症状です。

ほかにも出来ることがないか、試してみます。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.