質問 > フロント機能 > 「商品カテゴリから選ぶ」欄のカスタマイズ |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fukap |
投稿日時: 2011/4/7 19:03
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
「商品カテゴリから選ぶ」欄のカスタマイズ すっかり煮詰まってしまったので、教えてください。
デフォルトのブロックパーツで「検索条件」があると思います。 その「商品カテゴリから選ぶ」のリストボックスで、カテゴリ一覧が表示されますが、 カテゴリ数や階層が複雑になってしまったので、背景色を色分けして見やすくしようと思いました。 例えば、1階層目は背景色を赤に、2階層目は青に、3階層目は黄に、という感じです。 search_products.tplを見ると、 <!--{html_options options=$arrCatList selected=$category_id}--> という記述でリストボックスの中身を生成しているようでした。 その源流を辿ってみると、./data/module/Smarty/libs/plugins/function.html_options.php にある smarty_function_html_options_optoutput() というファンクションのなかで、 <option label= ...>〜</option> 部分を生成しているようでした。 ここでdtb_categoryテーブルのlevelフィールドの値を利用できれば、 <option class="level1"...>〜</option>というような形にして、CSSで option.level1 { background-color:#FF0000; } などとすれば、実現できそうな気がしました。 ただどうやってlevelフィールドの値を引っ張ってくればいいのかがわかりません。 またもっと良いやり方などはあるのでしょうか? 具体的なカスタマイズ方法など示していただければ助かります! ------------------------------------------------------------------------------------------ [EC-CUBE] 2.4.4 [レンタルサーバ] 自社 [OS] CentOS 5.5 [PHP] 5.1.6 [データベース] PostgreSQL 8.3.9 [WEBサーバ] Apache 2.2.3 [ブラウザ] Chrome ------------------------------------------------------------------------------------------ |
AMUAMU |
投稿日時: 2011/4/8 13:49
対応状況: −−−
|
神 ![]() ![]() 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 「商品カテゴリから選ぶ」欄のカスタマイズ html_options はSmartyの標準関数です。
function.html_options.phpのレベルでカスタマイズしたいのであれば下記が参考になるかもしれません。 http://www.north.ad.jp/~shmd_ak/rc/smarty02-options.html またSmartyに関するサイトやTipsを探されると目的に近い物があるのではないかと思います。
|
fukap |
投稿日時: 2011/4/8 22:18
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 「商品カテゴリから選ぶ」欄のカスタマイズ うー読んでみましたが、難しいですね。
頑張ってみます。 |
fukap |
投稿日時: 2011/4/11 22:29
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 「商品カテゴリから選ぶ」欄のカスタマイズ ブロック編集のカテゴリブロックでも、カテゴリ一覧が取得されているので、
それに近づければうまくいくかなという発想で、ゴリ押しでやってみたら出来ました。 正直よくわからずやっているので、たぶん褒められた方法ではないと思いますが・・・。 今のところ思った通りの結果は得られていますが、問題点などありましたら教えてください。 .data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_SearchProducts.php の70行目付近に以下のコードを追加。 (LC_Page_FrontParts_Bloc_Category.phpからコピっただけ)
同じく.data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_SearchProducts.php の88行目付近に以下のコードを追加。 (LC_Page_FrontParts_Bloc_Category.phpからコピっただけ)
.data/Smarty/templates/default/bloc/search_products.tpl の適当な場所に以下のコードを追加。 (自分で適当に書きました)
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |