ページ 11

絞り込みの指定が効かない

Posted: 2012年9月29日(土) 11:20
by bcacsato
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>
しかし、実際にページを表示すると、「表示」「非表示」の選択と関係なく、
日時が最新のものが表示されてしまいます。

自分的にはこれで合っていると思うのですが、何か間違っている箇所がありますでしょうか?
もし分かりましたら教えていただけますと幸いです。

Re: 絞り込みの指定が効かない

Posted: 2012年9月30日(日) 17:25
by webmaster
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ファイル、をまとめてメールでお送り頂いてもよろしいでしょうか?

お手数をおかけしますが、よろしくお願いいたします。

Re: 絞り込みの指定が効かない

Posted: 2012年10月06日(土) 21:52
by bcacsato
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さま、ありがとうございました。