ページ 11

エントリ一覧の1ページ目だけ特定のコンテンツを挿入したい

Posted: 2007年10月29日(月) 20:28
by bcacsato
エントリの一覧表示画面で、1ページ目だけに特定の内容を挿入することは可能でしょうか?

例えば、ブログ風のページを作成し、1ページに5件ずつ記事を表示するようにします。
そして、その1番最初のページ(最新の5件分が表示されるページ)にのみ、
「今月のおすすめ」などのコーナーを表示させたいと思っています。
ただ、ページを切り替えるたびにそれが表示されるのはしつこいため、
次ページ以降には表示させたくないのです。

もし、このようなことが容易に実現可能であれば、ご教授いただけますでしょうか?

よろしくお願いいたします。

Re: エントリ一覧の1ページ目だけ特定のコンテンツを挿入したい

Posted: 2007年10月31日(水) 17:04
by webmaster
bcacsatoさん、ご質問ありがとうございます。お返事が遅れまして申し訳ありません。

一覧表示の1ページ目のみ特定の内容挿入、とのことで、「特定内容」というのが単なる静的なコンテンツでしたら、簡単に実現可能です。

デザイン定義側で、

コード: 全て選択

<xsl:if test="/entrylist/navi/@position = 1">
 特定内容。
</xsl:if>
 と書けば、1ページの場合のみ「特定内容。」と表示されます。
 「/entrylist/navi/@position」には、現在のページ番号が入っています。

 もし、この特定内容が静的なコンテンツではなく、他のエントリの内容だったり
する場合は、この方法は使えません。

 現状では、普通の方法では実現することができないかと思います。申し訳ありません。

 普通ではない方法で、ぱっと思いつくのは、PHPとの併用です。

コード: 全て選択

<?php 
  if ( $_GET['pageno']==1 )
  {
    print '<cmsd:entry name="xxx" design="xxxx" eid="00001" />';
  }
?>
 のように書けば、うまくゆくかと思います。
 ただこの方法は、ひょっとすると将来のバージョンで使えなくなるかもしれません。
 (可能性は低いのですが、ゼロとは言い切れません。すいません・・)

 解決のお手伝いになるかどうか分かりませんが、一度お試し頂ければ幸いです。

Posted: 2007年11月06日(火) 03:38
by bcacsato
詳しいご回答ありがとうございます。

今回は動的なコンテンツを想定してました。
なので、ご提案いただいた方法を試してみたいと思います。

取り急ぎ、お礼まで :o