質問 > その他 > 任意のカテゴリによって商品詳細を非表示 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
it3 |
投稿日時: 2009/9/22 13:27
対応状況: −−−
|
一人前 登録日: 2009/3/16 居住地: 投稿: 94 |
任意のカテゴリによって商品詳細を非表示 こんにちは。
商品詳細ページで、特定のカテゴリの商品は表示しないようにしたく、過去スレッド http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=4291&forum=10 の <!--{if $item.category_id == "n"}--> 等を参考にして色々試していますが、うまく行きません。 ちなみに、!--{if $item.category_id == "n"}-->のnを任意の カテゴリIDにして試してみたところ、全ての商品の詳細ページが 表示されなくなってしまいます。 商品詳細ページで、商品カテゴリの指定の仕方が違うのでしょうか? このように、テンプレートにif文で振り分ける方法にこだわるつもりはありませんが、 ”特定カテゴリの商品詳細ページを非表示にする”にはどうしたらよいでしょうか? ご教授いただけないでしょうか? よろしくお願い致します。 ************************** EC-CUBE 2.3.4 DBサーバ MySQL PHP 5.1.6 |
tao_s |
投稿日時: 2009/9/22 13:58
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 任意のカテゴリによって商品詳細を非表示 <!--{$item.category_id}-->
だと何が表示されますか? 何も表示されない、もしくは0が表示されるのであれば、$item.category_idに値が入って無いので書く場所を間違えてると思います
|
it3 |
投稿日時: 2009/9/22 14:13
対応状況: −−−
|
一人前 登録日: 2009/3/16 居住地: 投稿: 94 |
Re: 任意のカテゴリによって商品詳細を非表示 引用:
tao_sさんありがとうございます。 何も表示されませんでした。 だとすると、書く場所を間違えているんですよね? 場所は"detail.tpl"の最初にある<div id="undercolumn">の 直ぐ下位に書いています。 どういったところに書かないといけないでしょうか? |
tao_s |
投稿日時: 2009/9/22 14:34
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 任意のカテゴリによって商品詳細を非表示 2.3.4のテンプレートを確認しましたが、$item自体が定義されていない様です。
カテゴリIDは関連カテゴリのところで
と使われてますね。 なので商品詳細ページでは$item.category_idは使えません。
|
it3 |
投稿日時: 2009/9/22 14:56
対応状況: −−−
|
一人前 登録日: 2009/3/16 居住地: 投稿: 94 |
Re: 任意のカテゴリによって商品詳細を非表示 引用:
tao_sさんありがとうございました! アドバイス頂いたお陰で下記のようにしてみたところ、 うまく行きました。 本当ありがとうございました。 <!--{section name=r loop=$arrRelativeCat}--> <!--{section name=s loop=$arrRelativeCat[r]}--> <!--{if $arrRelativeCat[r][s].category_id !="n"}--> 非表示にしたい領域 <!--{/if}--> <!--{/section}--> <!--{/section}-- |
it3 |
投稿日時: 2009/9/24 10:40
対応状況: −−−
|
一人前 登録日: 2009/3/16 居住地: 投稿: 94 |
Re: 任意のカテゴリによって商品詳細を非表示 こんにちは。
解決したと思ったのですが、 問題が出ました。。。 それは、商品にカテゴリを複数登録していた場合、 カテゴリ登録している数だけ、商品詳細の内容がそのまま 下に続けて表示されてしまいます。 どうも,,,,,下記のように"section name="のrとsで 囲っている為のような感じもします。(sectionの囲いから 外すと正常に戻るので。) この場合、どのようにしたら、商品詳細が連続して 表示されなくなるでしょうか? <!--▼CONTENTS--> <div id="undercolumn"> <!--{section name=r loop=$arrRelativeCat}--> <!--{section name=s loop=$arrRelativeCat[r]}--> <!--{if $arrRelativeCat[r][s].category_id =="n"}--> 掲載ページはありません。 <!--{else}--> 商品詳細内容(パンくずリストから下全て) <!--{/if}--> <!--{/section}--> <!--{/section}--> </div> <!--▲CONTENTS--> どうか、ご教授の程よろしくお願い致します。m(_ _)m |
it3 |
投稿日時: 2009/9/24 14:52
対応状況: −−−
|
一人前 登録日: 2009/3/16 居住地: 投稿: 94 |
Re: 任意のカテゴリによって商品詳細を非表示 いろいろ触ってみて、どうもsectionタグで囲っている事が
原因と見ました。 <!--{section name=r loop=$arrRelativeCat}--> <!--{section name=s loop=$arrRelativeCat[r]}--> <!--{if $arrRelativeCat[r][s].category_id =="n"}--> <!--{/if}--> <!--{/section}--> <!--{/section}--> section で、ループしている為、ifで囲った商品詳細データ部分が何度も表示されているようです。 商品カテゴリをsectionで取得しなければ、この症状が回避できるのかな・・・・とおもっていますが、そのような事は可能でしょうか? どなたか、お助けください m(_ _)m |
seasoft |
投稿日時: 2009/9/24 16:10
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 任意のカテゴリによって商品詳細を非表示 イマイチ何をしたいのか読解できていませんので、外しているかもしれませんが・・・
ループ内で、真偽(true/false)を決定して、ループの後ろで、出力をすれば良いのでは?
|
it3 |
投稿日時: 2009/9/24 17:09
対応状況: −−−
|
一人前 登録日: 2009/3/16 居住地: 投稿: 94 |
Re: 任意のカテゴリによって商品詳細を非表示 引用:
説明がうまく出来ずにすみません。。 やりたい事は、期間キャンペーン等で特別に設定した商品などは、 商品詳細が見れないようにしたいのです。 リンクが繋がらないようにしていても、URLの商品コードを手動で 変更すると閲覧できてしまうので、それでも閲覧でき無いようにし たいのです。 キャンペーン商品は、キャンペーンカテゴリで管理するように しているので、キャンペーンカテゴリのものを対象に商品詳細を 非表示したいところです。 引用:
この方法をするとなると、変数とかで真偽(true/false)をもたせないといけないですよね? 変数の設定はテンプレート内で勝手に作れるものでしょうか? $a のように。 お手数ですが、ご教授よろしくお願い致します。 |
seasoft |
投稿日時: 2009/9/24 17:23
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 任意のカテゴリによって商品詳細を非表示 > やりたい事は、期間キャンペーン等で特別に設定した商品などは、
> 商品詳細が見れないようにしたいのです。 > リンクが繋がらないようにしていても、URLの商品コードを手動で > 変更すると閲覧できてしまうので、それでも閲覧でき無いようにし > たいのです。 > キャンペーン商品は、キャンペーンカテゴリで管理するように > しているので、キャンペーンカテゴリのものを対象に商品詳細を > 非表示したいところです。 それならば、ページクラス側で、商品が見つからなかった場合と同じ処理に流せば済むような気もします。 > この方法をするとなると、変数とかで真偽(true/false)をもたせないといけないですよね? > 変数の設定はテンプレート内で勝手に作れるものでしょうか? > $a のように。 できますよ。 http://www.smarty.net/manual/ja/language.custom.functions.php#language.function.assign
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |