mayumi.t

Page Buteによる分割ページ内の記事カウントについて

0

記事件数によってレイアウトを変更する必要があるのですが
(1)分割ページ内で現在の記事が何番目か取得する
(2)次の分割ページではまた1からカウントを始める
ことは可能でしょうか。

次の分割ページ以降でも、1ページ目からの通し番号となってしまい、困っております。
アドバイス等いただけますと幸いです。

返信(5)

| 返信する
  • マニュアルを見ると以下のような記述がありました。

    -----
    <MTPageContentsHeader>〜</MTPageContentsHeader> (3.5.0-)
    ページ分割後の各ページ内で最初のコンテンツの場合に有効になるブロックです。
    -----

    MTEntriesの中でSetVarを使用して記事数をカウントし、ページが変わった際はMTPageContentsHeaderの中でSetVarを使用してカウンターを0とか1に戻してやれば良さそうな気がいたしました。

  • ご確認ありがとうございます。
    私もそのような方法で実現できるかと思って実装していたのですが、どうもうまくいきません。

    <MTPageContents count="2">
    <MTEntries>
    <MTPageContentsHeader><mt:SetVar name="undef(counter)">
        <ul></MTPageContentsHeader>
        <mt:SetVar name="counter" value="1" op="++">
            <li><$MTGetVar name="counter"$>:<$mt:EntryTitle$></li>
        <MTPageContentsFooter></ul>
    </MTPageContentsFooter>
    <$MTPageSeparator$>
    </MTEntries>
    </MTPageContents>

    結果
    1ページ
    └ 1:記事タイトル4
    └ 1:記事タイトル3

    2ページ
    └ 1:記事タイトル2
    └ 1:記事タイトル1

  • あら、本当ですね。すみません…。
    下記のようにするとページ毎に1・2…とカウントするようでした。

    <mt:SetVar name="counter" value="0">
    <mt:SetVar name="entry_per_page" value="2" note="1ページの記事数をここに設定">
    <MTPageContents count="$entry_per_page">
    <MTEntries>
    <mt:If name="counter" op="mod" value="$entry_per_page" eq="0">
      <mt:SetVar name="counter" value="0" />
    </mt:If>
    <MTPageContentsHeader>
        <ul></MTPageContentsHeader>
        <mt:SetVar name="counter" op="++">
        <li><MTVar name="counter" />:<$mt:EntryTitle$></li>
        <MTPageContentsFooter></ul>
    </MTPageContentsFooter>
    <$MTPageSeparator$>
    </MTEntries>
    </MTPageContents>
  • 10件分割の2ページ目に表示される1件目は、必ず全体の11番目になるので、カウンターの初期値をページ数*分割数-分割数で設定したら、表示できると思いますがいかかでしょうか。

  • ご確認ありがとうございます。
    取り急ぎ、Hideki Abe様のコードにてやりたいことが実現できました。
    ありがとうございました!

    CMS NOTE様のコードにつきましても、追って実装してみます。
    ありがとうございました!

返信する


カテゴリグループ

フォーラムカテゴリー

21 76

最新のトピック: 公開終了日の取り消し (2013年10月18日 gsk)

391 1077

最新のトピック: 公開終了日について (2019年3月10日 eri)

OpenID対応しています OpenIDについて