ページ 11

エントリ一覧用のデザイン定義にて、お勧めを最初に表示させたい。

Posted: 2008年6月20日(金) 00:41
by mojira
webmaster様へ

表題のように、不動産物件みたいな感じで、お勧め物件があれば一覧表示の時に優先的に表示させるような事は可能でしょうか?

内容としてはスキーマにてメニューアイテムでお勧め項目を作ります。

コード: 全て選択

  <data name="picup" type="menu" caption="*オススメ情報ですか?(選択)" group="True">
    <menuitem id="no">NO</menuitem>
    <menuitem id="yes">YES</menuitem>
  </data>
エントリ一覧では基本的には時系列順に並びますが、上記のスキーマのエントリ一覧用デザイン定義にて、”お勧め”を選択したエントリを優先的に表示させたいのです。

ダメもとでデザイン定義にて以下のような感じにしてみたのですが、上手くいきませんでした。

コード: 全て選択

<xsl:for-each select="entry[picup='yes']" >

 *****お勧めの中身*****

</xsl:for-each>

<xsl:for-each select="entry[picup='no]" >

 *****普通の中身*****

</xsl:for-each>
申し訳ありませんがご教授頂ければ幸いです。

追伸です。

Posted: 2008年6月20日(金) 18:12
by mojira
すみません、補足で書かせていただきます。

上記の内容は例えば、エントリ数が30件あるとして、その内”お勧め”が11件だとした場合、ページあたり10件づつ表示するナビゲーションの場合に1ページ目は全て”お勧め案件”で2ページ目の最初の一件までが”お勧め案件”みたいな感じを想定しています。

お忙しいとは思いますが何卒、ご教授頂ければ幸いです。

Posted: 2008年7月08日(火) 16:53
by blue
単純に、ソートでいけるんじゃないでしょうか。
yes/no で yes を優先させたいわけでしたら降順ソートで。

コード: 全て選択

<xsl:template match="/entrylist">
<xsl:for-each select="entry">
   <xsl:sort select="picup" order="desc" />
・
・
</xsl:for-each>

Posted: 2008年7月08日(火) 18:03
by mojira
blueさんへ

ありがとうございました!

下記のような感じでスキーマ定義のソート機能を使うことで実現できました。

コード: 全て選択

<?xml version="1.0" encoding="UTF-8"?>
<schema name="item" caption="販売商品" sortkey="picup" sortorder="desc">

ソート機能はメニューアイテムにも有効なのですね、blueさんからご指摘頂くまで気が付きませんでした。

blueさんのお陰で思い通りの表示ができました。 

本当にありがとうございました!m(_ _)m

Posted: 2008年7月08日(火) 18:14
by mojira
blueさんへ

ありがとうございました!

下記のような感じでスキーマ定義のソート機能を使うことで実現できました。

コード: 全て選択

<?xml version="1.0" encoding="UTF-8"?>
<schema name="item" caption="販売商品" sortkey="picup" sortorder="desc">

ソート機能はメニューアイテムにも有効なのですね、blueさんからご指摘頂くまで気が付きませんでした。

blueさんのお陰で思い通りの表示ができました!

本当にありがとうございました!m(_ _)m