質問 > フロント機能 > 一覧ページに違うブロックを適用したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
DDR |
投稿日時: 2009/7/4 14:55
対応状況: −−−
|
仙人 登録日: 2008/6/21 居住地: 大阪 投稿: 307 |
一覧ページに違うブロックを適用したい お世話になっております
いつもざっくりな質問で申し訳ありません 商品一覧ページのブロックですが 商品カテゴリー毎に違ったブロックを表示したいのですが 一覧ページのブロックを list1.htmlの時は1.2のブロックを表示 list2.htmlの時は1.3のブロックを表示 単純ですがこんな感じです 素人感覚ですがif構文だけで実装できるような感じで良いのでしょうか?
これにlist1.html list2.html など複合させるソースの 書き方が分かりません;; また、別にこうした方が 単純にスマートだとかあれば御願いします
|
AMUAMU |
投稿日時: 2009/7/4 15:58
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 一覧ページに違うブロックを適用したい Smartyのinclude文を使いましょう
詳細はSmartyマニュアルが参考になると思います。
|
seasoft |
投稿日時: 2009/7/4 17:01
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 一覧ページに違うブロックを適用したい > list1.htmlの時は1.2のブロックを表示
> list2.htmlの時は1.3のブロックを表示 list.php?category_id=1 list.php?category_id=2 では? とりあえず、上の前提でですが、 ・dtb_blocposition を拡張する方法 ・dtb_blocposition から読み込んだデータを書き換えする方法 が思いつきます。
|
DDR |
投稿日時: 2009/7/4 17:09
対応状況: −−−
|
仙人 登録日: 2008/6/21 居住地: 大阪 投稿: 307 |
Re: 一覧ページに違うブロックを適用したい ご返信有難う御座います
(/user_data/test.php) 新規で作成したページならincludeで そのページだけ変えられますが (単純にブロック変更できますけど) 勉強不足でレスして申し訳ありませんが 全ページ共有の一覧ページでinclude文だと全部に テンプレ呼び出しませんか? list1.html list2.html list3.htmlを開いた時にのみ左カラムに サンプルというブロックを表示したいのです list4.html list5.html list6.html.... を開くと左カラムにサンプルブロックは表示されない list1.htmlのページにてincludeさせるという事でしょうか? ページ毎に書き換え可能なのでしょうか? if構文だけなら実装は出来ますが list1.htmlのみしか私のスキルでは無理なのです;;
|
DDR |
投稿日時: 2009/7/4 17:25
対応状況: −−−
|
仙人 登録日: 2008/6/21 居住地: 大阪 投稿: 307 |
Re: 一覧ページに違うブロックを適用したい いつもお世話になっております
そうですね 動的を静的化してたので正確には list.php?category_id=1 list.php?category_id=2 になりますね DB関連になってくるのですかorz 表示させたいページ数も少ないので if構文で category_id を複数指定してやれるだけ で良いと思っているのですが 複数指定してやる事はできないでしょうか? <!--{if $smarty.server.PHP_SELF == "ここに複数category_id "}--> 共有の一覧ページのレイアウトでサンプルブロックをtureにして これだと全ての一覧ページに表示させる事になりますが ifで指定したcategory_id 以外では非表示となり 理想な形になるのですが 現在 表示非表示を切り替えるブロックに書いてあるソースです includeなどで呼び出すのではなく全てに適用してます
しかし
としてやっても一覧ページは無理なんですねorz んーー難しい
|
ecbg |
投稿日時: 2009/7/4 22:02
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: 一覧ページに違うブロックを適用したい ブロックテンプレートで||を使って複数のカテゴリIDを並べるだけで可能なように思うのですが、
例えば、{if ID取得変数=="該当ID1" || ID取得変数=="該当ID2"} こんな感じじゃないですか。 |
AMUAMU |
投稿日時: 2009/7/4 23:08
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: 一覧ページに違うブロックを適用したい if 〜 else if 〜else 〜 /if という構文がある場合、ifの間にincludeを入れれば良いかと思いますが、それは期待した動作と違うのかな?
|
DDR |
投稿日時: 2009/7/5 0:10
対応状況: −−−
|
仙人 登録日: 2008/6/21 居住地: 大阪 投稿: 307 |
Re: 一覧ページに違うブロックを適用したい お世話になります!
返信有難う御座います 一応確認してみました ||を追加する事で複数に出来ると思ったのですが当方では出来なかったですorz 間違っているのかもしれませんが
これは 商品一覧と商品詳細ページという事ですね 勉強になりました
問題なのは "該当ID" を指定する事が出来なかったです
|
DDR |
投稿日時: 2009/7/5 0:17
対応状況: −−−
|
仙人 登録日: 2008/6/21 居住地: 大阪 投稿: 307 |
Re: 一覧ページに違うブロックを適用したい お世話になります
ご返信有難うございます 新しいページにという事でしたら それで問題は全くないのですが list.phpにとなると list.phpのレイアウトで追加したいブロックを選択できるので 呼び込み自体は問題はないのですが レイアウトでブロックを指定しない場合はそのincludeで 呼び出し出来るので綺麗なのかもしれませんね ただ、そのif構文を追加したいブロックに書き出している事が そもそも考え方が間違っているという事でしょうか?
|
seasoft |
投稿日時: 2009/7/5 6:07
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 一覧ページに違うブロックを適用したい > そうですね
> 動的を静的化してたので正確には > list.php?category_id=1 > list.php?category_id=2 > になりますね カスタマイズにより標準実装と異なる場合は、その旨を明記しておくのが適切かと思います。 当方では、DDR 様の経緯をある程度把握しているので分かりますが、把握していない方は、既に突っ込み所がズレてますよ^^; > DB関連になってくるのですかorz DB 周りの付近を構わずに実現することも可能ですが、現状で DB で制御している部分なので、DB 回りを変えたほうが影響・副作用も少ないはず。 テンプレートの変更は一切なく、PHP ロジックのみで可能なはずです。(未検証) ちなみに、最初に書いた「dtb_blocposition から読み込んだデータを書き換えする方法」ならば、DB から取得したデータを書き換える方向なので、DB や DB からの取得のロジックは書き換える必要がなく、取得した後の変数データを加工する(配列要素削除かな)だけで対応できそうです。 > 複数指定してやる事はできないでしょうか? 無論可能です。 if 構文でも、swich 構文でも。
|
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |