「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
-
bcacsato
- パワーユーザー
- 記事: 233
- 登録日時: 2005年11月27日(日) 14:05
投稿記事
by bcacsato » 2012年9月29日(土) 11:20
CMSDでオンラインショップを作成しました。
商品情報のエントリーのうち、「今月のおすすめ」として1品、「その他のおすすめ」として5点ほどをトップページにも表示させたいと思っています。
そこで、スキーマファイルに下記の選択欄を追加しました。
コード: 全て選択
<data name="reco1" type="menu" caption="今月のおすすめ" group="True">
<menuitem id="1">非表示</menuitem>
<menuitem id="2">表示</menuitem>
</data>
<data name="reco2" type="menu" caption="その他のおすすめ商品" group="True">
<menuitem id="1">非表示</menuitem>
<menuitem id="2">表示</menuitem>
</data>
そして、管理画面にて「表示」を選択したものだけをトップページに表示するため、
埋め込み先のトップページのHTMLには下記の通り記述しました。
コード: 全て選択
<h2>今月のおすすめ商品</h2>
<cmsd:entry name="shop" design="reco1" />
<cmsd:group key="reco1" value="2" />
</cmsd:entry>
<h2>その他のおすすめ商品</h2>
<cmsd:entrylist name="shop" design="reco2" rows="5" />
<cmsd:group key="reco2" value="2" />
</cmsd:entrylist>
しかし、実際にページを表示すると、「表示」「非表示」の選択と関係なく、
日時が最新のものが表示されてしまいます。
自分的にはこれで合っていると思うのですが、何か間違っている箇所がありますでしょうか?
もし分かりましたら教えていただけますと幸いです。
-
webmaster
- Site Admin
- 記事: 1451
- 登録日時: 2004年12月10日(金) 10:09
投稿記事
by webmaster » 2012年9月30日(日) 17:25
bcacsatoさん、いつもコメントありがとうございます。webmasterです。
スキーマとCMSDタグを拝見させて頂きました。基本的に問題なさそうに見えます。
<h2>今月のおすすめ商品</h2>
<cmsd:entry name="shop" design="reco1" />
<cmsd:group key="reco1" value="2" />
</cmsd:entry>
こちらだけ、表示するエントリを指定する為、eid="top"をつけて、以下のようにする必要があるかと思います。
<h2>今月のおすすめ商品</h2>
<cmsd:entry name="shop" design="reco1" eid="top" />
<cmsd:group key="reco1" value="2" />
</cmsd:entry>
ただ、それでも、絞込みが効いていないというのはおかしいと思います。
これでうまくいかないのは、弊社では、PHPを更新したがサーバへアップロードしていなかった、とか、そもそも違う場所のPHPファイルを更新していた、とか、またはキャッシュ機能をONにしていた、などです。
念のため、これらの点を再度ご確認頂いた上で、スキーマ/デザイン定義/PHPファイル/関連するエントリのindexファイル、をまとめてメールでお送り頂いてもよろしいでしょうか?
お手数をおかけしますが、よろしくお願いいたします。
-
bcacsato
- パワーユーザー
- 記事: 233
- 登録日時: 2005年11月27日(日) 14:05
投稿記事
by bcacsato » 2012年10月06日(土) 21:52
webmasterさまにソースを確認していただき、解決しました。
原因は、1行目の最後でタグが閉じてしまっていたため、
残りのcmsd:groupなどが無視されてしまったことによるものでした。
<cmsd:entry name="shop" design="top" eid="top" /> ←ここでタグが閉じられている
<cmsd:group key="monthly" value="2" />
</cmsd:entry>
これを下記のように記述することにより、正しい挙動となりました。
コード: 全て選択
<h2>今月のおすすめ商品</h2>
<cmsd:entry name="shop" design="reco1">
<cmsd:group key="reco1" value="2" />
</cmsd:entry>
<h2>その他のおすすめ商品</h2>
<cmsd:entrylist name="shop" design="reco2" rows="5">
<cmsd:group key="reco2" value="2" />
</cmsd:entrylist>
初歩的なミスで失礼しました…。
webmasterさま、ありがとうございました。