質問 > フロント機能 > 下位カテゴリの有無によって異なる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で子カテゴリを持つかどうかが入っていると思います。
|
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でやれば簡単に実現できることなどから、 今回は効率を優先してこの問題は私としては しばらくペンディングにせざるを得ないのですが、 教えていただいたことをもとに、 かならず時間をとってやってみて結果ご報告します。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |