バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カテゴリをSELECT化したい

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
DDR
投稿日時: 2009/3/23 23:37
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
Re: カテゴリをSELECT化したい
お世話になっております

そうですねむやみにsmartyでやるより
htmlで実装してみました

<select onChange='location.href=this.options[this.selectedIndex].value'>
<!--{section name=cnt loop=$arrTree}-->

<OPTION label="<!--{$arrTree[cnt].category_name}-->" value="<!--{$smarty.const.URL_DIR}-->products/list<!--{$arrTree[cnt].category_id}-->.html"></OPTION>

<!--{/section}-->
</select>

これで見事にSELECT化が完成致しました!
有難う御座いました

今度は、選択した後に親もSELECT化ですね
これはPHPの判別部分になりそうですね

弄ってみて分からなかったらまた書き込みさせてください

本当に有難う御座いました!

追記;親カテゴリーの部分は
SELECT化せずにパンくずリストのようにすれば
単純にサイト移動がしやすくなりました

親>子>SELECT のように表示させることが出来ました


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

seasoft
投稿日時: 2009/3/23 17:24
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: カテゴリをSELECT化したい
> smartyを勉強してないので無知で申し訳ないです
> html_options
> でvaluesを与えてやるにはどうしたらいいのでしょうか?

連想配列あたりで値リストを与えるんじゃないですかね?
基本的には <!--{section}--> を使わなくなると思います。
(私も Smarty はさほど詳いわけで無いので、マニュアル確認しないと不確かですが。)

HTML の方が詳しいのであれば、無理に <!--{html_options}--> を使わずに、<OPTION> でも良いと思いますよ。


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

DDR
投稿日時: 2009/3/23 17:03
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
Re: カテゴリをSELECT化したい
なんとか一つのセレクトにまとめて表示の方は出来ました!
いつも有難う御座います

<select onChange='location.href=this.options[this.selectedIndex].value'>
<!--{section name=cnt loop=$arrTree}-->

<!--{html_options options=$arrTree[cnt].category_name selected=$category_id}-->
<!--{/section}-->
</select>

smartyを勉強してないので無知で申し訳ないです
html_options
でvaluesを与えてやるにはどうしたらいいのでしょうか?

今度は選択したらリンクするようにしてやりたいです
自分でも調べてみます

入れたい値は
<a href="<!--{$smarty.const.URL_DIR}-->products/list.php<!--{$arrTree[cnt].category_id}-->.html">

になるようにしたいです


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

seasoft
投稿日時: 2009/3/23 12:29
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: カテゴリをSELECT化したい
少なくとも「一つのオプションの中に3つ入れたい」という動作にするには、最初のレスに書いたような階層にする必要があります。


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

DDR
投稿日時: 2009/3/23 12:19
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
Re: カテゴリをSELECT化したい
アドバイスを頂いているのに文章が表現できず申し訳ないです

ローカル環境ではないので、もう少し具体的に書きます

サブカテゴリーを表示させています

カテゴリー一覧を開き、レイアウトにて

商品一覧が並ぶページの上にサブカテゴリーをブロックとして
表示をさせてます


*商品一覧ページ*
親カテゴリー1
子カテゴリ1 子カテゴリ2 子カテゴリ3・・・

カテゴリ上部に説明文を入れる
商品一覧リスト



このような表示形式なんですが

親カテゴリー1
子カテゴリ1 子カテゴリ2 子カテゴリ3・・・

が今回の、サブカテゴリーブロックになります

これが
子カテゴリ毎にSELECTになってしまっています

親カテゴリー1
選択して下さい 選択して下さい 選択して下さい
子カテゴリ1 子カテゴリ2 子カテゴリ3・・・



これを
親カテゴリー1
*ここから選択して下さい*
*子カテゴリ1*
*子カテゴリ2*
*子カテゴリ3*

のように一つのオプションの中に3つ入れたいのです


.tplは
<!--{section name=cnt loop=$arrTree}-->
<!--{* 階層を level へ *}-->
<!--{assign var=level value="`$arrTree[cnt].level`}-->
<!--{* カテゴリ名を disp_name へ *}-->
<!--{assign var=disp_name value="`$arrTree[cnt].category_name`"}-->
<!--{assign var=disp_disp value="`$arrTree[cnt].category_disp`"}-->

<!--{* 表示カテゴリのみ *}-->
<!--{if $arrTree[cnt].display == 1}-->
<!--{* 選択したカテゴリ *}-->
<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id) }-->
<li><a href="<!--{$smarty.const.URL_DIR}-->products/list.php<!--{$arrTree[cnt].category_id}-->.html" title="<!--{$disp_name|escape}-->"><!--{$disp_name|escape}--></a></li>

<!--{* 未選択カテゴリ *}-->
<!--{else}-->
<select onChange='location.href=this.options[this.selectedIndex].value'>
<option label="すべての商品" value="">全ての商品</option>
<!--{html_options options=$arrTree[cnt].category_name selected=$category_id}-->
</select>

<!--{/if}-->

<!--{$disp_disp|sfCutString:40|escape}-->

<!--{/if}-->
<!--{/section}-->
としてやると 子カテゴリーは1個ずつですがSELECT化はしてます
選択するとその子カテゴリーへリンクするようにしたいので、VALUEにURLを指定したいのと、一つにまとめたいのですね


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

seasoft
投稿日時: 2009/3/23 1:14
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: カテゴリをSELECT化したい
文書から現状がなかなか把握できていません。

百聞(文?)は一見に如かず。
状態を閲覧できれば話しは早いのですが。


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

DDR
投稿日時: 2009/3/22 14:15
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
Re: カテゴリをSELECT化したい
お世話になります

smartyの参照サイトを参考に

<select onChange='location.href=this.options[this.selectedIndex].value'>
<option label="すべての商品" value="">全ての商品</option>
<!--{html_options options=$arrTree[cnt].category_name selected=$category_id}-->
</select>
へ変更しました

こちらの方が分かりやすいですね
smartyは慣れたら便利に使えそうですね

未だに、個別に表示されてしまうことと
valuesの値をどのように入れてやっていいか分かりません

<!--{html_options options=$arrTree[cnt].category_name selected=$category_id}-->
にvalues="<!--{$smarty.const.URL_DIR}-->products/list<!--{$arrTree[cnt].category_id}-->.html"
を追加しても真っ白になり無理でした

どのようにしたら、valueの値にURLを挿入できますか?
配列的には素人思考で申し訳ないですが
array(
list1.html=>サンプル1($arrTree[cnt].category_name)
list2.html=>サンプル2($arrTree[cnt].category_name)
)
のような形になればいいのかと思いますがどうしたらいいか
分かりません

optionsはキーがvalues属性、要素がoutput属性の連想配列
のようですが、キーが出来てないから
現在はサイトから選択するとサンプル1とサンプル2が
/products/0 と表示されてしまっているんですね

実装したい例としては
http://www.ark-pc.co.jp/list/?key=&cat=c11&listype=&dsp=0&order=&limit=&col=

このような検索条件みたいな感じです


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

seasoft
投稿日時: 2009/3/22 11:15
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: カテゴリをSELECT化したい
http://www.smarty.net/manual/ja/language.function.html.options.php を使うのが理想だとは思います。

ご提示の手法でしたら、

<SELECT ...>
    <!--{section ...}-->
        <OPTION ...>...</OPTION>
    <!--{/section}-->
</SELECT>

のような階層となる必要がある気がします。


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

DDR
投稿日時: 2009/3/22 2:41
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
カテゴリをSELECT化したい
お世話になっております

現在 商品一覧カテゴリーをフォームにして
選択すると子カテゴリへ移動する
サブカテゴリーを作成しております

<!--商品カテゴリーここから-->
<div id="maincate">
<h2><!--{$maincate[0].category_name }--></h2>
<div class="maincate_disp">
<!--{$maincate[0].category_disp }-->
</div>
<ul>
<!--{section name=cnt loop=$arrTree}-->
<!--{* 階層を level へ *}-->
<!--{assign var=level value="`$arrTree[cnt].level`}-->
<!--{* カテゴリ名を disp_name へ *}-->
<!--{assign var=disp_name value="`$arrTree[cnt].category_name`"}-->
<!--{assign var=disp_disp value="`$arrTree[cnt].category_disp`"}-->

<!--{* 表示カテゴリのみ *}-->
<!--{if $arrTree[cnt].display == 1}-->
<!--{* 選択したカテゴリ *}-->
<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id) }-->
<li><a href="<!--{$smarty.const.URL_DIR}-->products/list.php<!--{$arrTree[cnt].category_id}-->.html" title="<!--{$disp_name|escape}-->"><!--{$disp_name|escape}--></a></li>

<!--{* 未選択カテゴリ *}-->
<!--{else}-->

<SELECT onChange='location.href=this.options[this.selectedIndex].value'>
<OPTION value="<!--{$smarty.const.URL_DIR}-->products/list<!--{$arrTree[cnt].category_id}-->.html"><!--{$disp_name}--></OPTION>
<OPTION value="SAMPLE.html" selected>ここから選択</OPTION>
</SELECT>

<!--{/if}-->

<!--{$disp_disp|sfCutString:40|escape}-->

<!--{/if}-->
<!--{/section}-->
</ul>
</div>
<!--商品カテゴリーここまで-->

これだと、表示はされますが中身が1個ずつのフォームで表示されてしまいます
どのようにしたら1つのSELECTの中に現在いるLevelのカテゴリー
が入りますか?

よろしくお願いいたします


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1304
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.