バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 下位カテゴリの有無によって異なるclass名をつけたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kasaya
投稿日時: 2010/12/1 15:02
対応状況: −−−
新米
登録日: 2010/12/1
居住地:
投稿: 5
下位カテゴリの有無によって異なるclass名をつけたい
お世話になります。

カテゴリブロックにおいて、各カテゴリが下位にサブカテゴリを持つ場合のみ
liタグあるいはaタグに特定のclass名をつけるような条件分岐は、可能でしょうか?
ecbg
投稿日時: 2010/12/1 16:50
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: 下位カテゴリの有無によって異なるclass名をつけたい
感触としては、phpファイルにカスタマイズを加えなくてもSmartyテンプレート上で行けそうな気がしますが、現在の状態にもよると思うので、出せる部分のテンプレートソースを提示してみてはどうですか?
AMUAMU
投稿日時: 2010/12/1 17:18
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 下位カテゴリの有無によって異なるclass名をつけたい
標準通りのカテゴリブロックであれば、各カテゴリの情報配列にhas_childrenという変数true/falseで子カテゴリを持つかどうかが入っていると思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

kasaya
投稿日時: 2010/12/1 21:17
対応状況: −−−
新米
登録日: 2010/12/1
居住地:
投稿: 5
Re: 下位カテゴリの有無によって異なるclass名をつけたい
ecbgさま、ご返信ありがとうございます。

Smartyテンプレート上で行けそう、というと、
category.tplに手を加えればできそう、ということですね?

category.tplは現在デフォルトのものをそのまま使っており、
問題の部分は

<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}-->>

となっています。
自宅に帰ってきてしまったので今、試してみられませんが、
明日やってみて結果ご報告します。
kasaya
投稿日時: 2010/12/1 21:22
対応状況: −−−
新米
登録日: 2010/12/1
居住地:
投稿: 5
Re: 下位カテゴリの有無によって異なるclass名をつけたい
AMUAMUさま

has_childrenという値があるのですね、
まだPHPとかSmartyとかは初心者なのですが、
ググってみたところ、私にもできそう……かもしれません。
貴重なアドバイスをありがとうございます。
明日やってみて結果ご報告します。
ecbg
投稿日時: 2010/12/2 11:01
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: 下位カテゴリの有無によって異なるclass名をつけたい
FTPを使って作業するのであれば
html/user_data/packages/default/bloc/category.tpl
のファイルですし、管理画面から直接編集ならば、
管理画面 > デザイン管理 > ブロック編集の「カテゴリ」
を編集するだけで可能かと思いますが、
AMUAMU様が紹介しているhas_childrenの値をテンプレート上で
作用させるには少し調べないといけないかもしれませんね。

まずは<!--{if ○○}-->〜<!--{elseif ○○}-->〜<!--{else}-->〜<!--{/if}-->がどのように作用しているかを理解することから始めるのがよいかと思います。
kasaya
投稿日時: 2010/12/3 18:44
対応状況: −−−
新米
登録日: 2010/12/1
居住地:
投稿: 5
Re: 下位カテゴリの有無によって異なるclass名をつけたい
ecbgさまありがとうございます。お返事遅くなりました。

昨日今日と他の仕事が入ってしまってあまり時間をかけて考えられなかったですが、
やはりおっしゃるとおり、なかなか難しいです。

また、いろいろやってみている途中で、
私がほしい機能を実現させるには、
あるカテゴリがサブカテゴリを持つかどうか、
だけではなく、
そのカテゴリ自身かあるいは下位のカテゴリがカレントであるかどうかを
判別しなければならないと気づきました。

つまり、下位のカテゴリのULが展開されているときと
されていないときで背景画像を変えたいのです。

has_childrenを使ってサブカテゴリを持つかどうかを判別し、
持っている場合にはそのカテゴリ自身、
サブカテゴリ、そのまた下のカテゴリについて
ひとつひとつカレントであるかどうかを判別し、
真であった場合には特定のclass名をつける、
という作業が必要かと思います。

そうなると私にとってはだいぶん難しくなってしまうこと、
まだデザインがフィクスしていないこと、
JavaScriptでやれば簡単に実現できることなどから、
今回は効率を優先してこの問題は私としては
しばらくペンディングにせざるを得ないのですが、
教えていただいたことをもとに、
かならず時間をとってやってみて結果ご報告します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,432名です
総投稿数は110,087件です

投稿数ランキング

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