エントリの一覧表示画面で、1ページ目だけに特定の内容を挿入することは可能でしょうか?
例えば、ブログ風のページを作成し、1ページに5件ずつ記事を表示するようにします。
そして、その1番最初のページ(最新の5件分が表示されるページ)にのみ、
「今月のおすすめ」などのコーナーを表示させたいと思っています。
ただ、ページを切り替えるたびにそれが表示されるのはしつこいため、
次ページ以降には表示させたくないのです。
もし、このようなことが容易に実現可能であれば、ご教授いただけますでしょうか?
よろしくお願いいたします。
エントリ一覧の1ページ目だけ特定のコンテンツを挿入したい
Re: エントリ一覧の1ページ目だけ特定のコンテンツを挿入したい
bcacsatoさん、ご質問ありがとうございます。お返事が遅れまして申し訳ありません。
一覧表示の1ページ目のみ特定の内容挿入、とのことで、「特定内容」というのが単なる静的なコンテンツでしたら、簡単に実現可能です。
デザイン定義側で、
と書けば、1ページの場合のみ「特定内容。」と表示されます。
「/entrylist/navi/@position」には、現在のページ番号が入っています。
もし、この特定内容が静的なコンテンツではなく、他のエントリの内容だったり
する場合は、この方法は使えません。
現状では、普通の方法では実現することができないかと思います。申し訳ありません。
普通ではない方法で、ぱっと思いつくのは、PHPとの併用です。
のように書けば、うまくゆくかと思います。
ただこの方法は、ひょっとすると将来のバージョンで使えなくなるかもしれません。
(可能性は低いのですが、ゼロとは言い切れません。すいません・・)
解決のお手伝いになるかどうか分かりませんが、一度お試し頂ければ幸いです。
一覧表示の1ページ目のみ特定の内容挿入、とのことで、「特定内容」というのが単なる静的なコンテンツでしたら、簡単に実現可能です。
デザイン定義側で、
コード: 全て選択
<xsl:if test="/entrylist/navi/@position = 1">
特定内容。
</xsl:if>
「/entrylist/navi/@position」には、現在のページ番号が入っています。
もし、この特定内容が静的なコンテンツではなく、他のエントリの内容だったり
する場合は、この方法は使えません。
現状では、普通の方法では実現することができないかと思います。申し訳ありません。
普通ではない方法で、ぱっと思いつくのは、PHPとの併用です。
コード: 全て選択
<?php
if ( $_GET['pageno']==1 )
{
print '<cmsd:entry name="xxx" design="xxxx" eid="00001" />';
}
?>
ただこの方法は、ひょっとすると将来のバージョンで使えなくなるかもしれません。
(可能性は低いのですが、ゼロとは言い切れません。すいません・・)
解決のお手伝いになるかどうか分かりませんが、一度お試し頂ければ幸いです。