MTタグ逆引き辞典

応用

指定した記事をページネーションの1ページ目だけに表示する

ページ送り機能のある記事一覧リストの1ページ目のみに、特定の記事を表示する実装です。
メインページ内の記事一覧に、ピックアップしたい記事がある場合に有効な方法です。
実際に、General Blogテーマのメインページの記事一覧には「ピックアップ!」としてこの方法を使用しています。

まずは記事のカスタムフィールドにチェックボックスを用意します。
以下の設定を参考にしてください。拡張子はentry_pickupです。

続いて、MTタグを設定します。

使用するMTタグ

まずはmt:SetVarBlock内に、field:entry_pickup="1"mt:Entries lastn="5"の記述でentry_pickupのカスタムフィールドでチェックが入っている最新の5件の記事情報を取り出して変数として保存。
名前を pickup-entry-list とします。

続いてmt:SetVarBlock内に、entry-listモジュール(後述)を読み込ませて、名前をentry-listとして変数に保存します。

記述サンプル

メインページ記述


  
    
      

ピックアップ!

    
      
        

<$mt:EntryTitle encode_html="1"$>

        

          <$mt:EntryDate format="%Y.%m.%d"$>
        

      
  
    

記事一覧

    
    <$mt:Include module="entry-list"$>     
  <$mt:Var name="pickup-entry-list"$> <$mt:Var name="entry-list"$>

新しくモジュールを作成します。モジュール名は「entry-list」です。

mt:SetVarに、1ページ目としてvalue="1"の値を保存しておきます。
名前はname="is_first_page"で指定し、メインページでの振り分けに使用します。

ページ送りのmt:PaginationHasPrevious内ではmt:SetVarvalue="0"を指定します。
それによりis_first_pageの値が、ページ送りで前のページリンクがない場合1ページ目と判断し1を、ある場合は2ページ目以降として判断し0になります。

これによって、メインページのmt:If name="is_first_page"で変数に保存しておいたpickup-entry-listのピックアップの表示を出し分けることができます。

entry-listモジュール記述

<$mt:SetVar name="is_first_page" value="1"$>

  

<$mt:EntryTitle$>

<$mt:EntryDate format="%Y.%m.%d"$>