「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
Movable Typeの標準機能での動的ページ分割(その2)
Movable Typeの標準機能での動的ページ分割では、メインページだけでなく、アーカイブページも分割することができます。その方法を紹介します。
1.カテゴリ別ブログ記事リストテンプレートの書き換え
カテゴリアーカイブをページ分割する場合は、「カテゴリ別ブログ記事リスト」のテンプレートを書き換えます。
1-1.テンプレートの先頭部分の書き換え
まず、テンプレートの先頭に以下を追加します。
<$mt:Var name="entries_per_page" value="10"$>
<mt:SetVarBlock name="search_link">
<$mt:CGIPath$><$mt:SearchScript$>?IncludeBlogs=<$mt:BlogID$>
&template_id=<$mt:BuildTemplateID$>
&limit=<$mt:Var name="entries_per_page"$>
&archive_type=<$mt:ArchiveType$>
&category=<$mt:CategoryID$>
<mt:If name="datebased_archive">
&year=<$mt:ArchiveDate format="%Y"$>&month=<$mt:ArchiveDate format="%m"$>&day=
<$mt:ArchiveDate format="%d"$>
</mt:If>
&page=
</mt:SetVarBlock>
<$mt:Var name="search_link" strip="" trim="1" encode_html="1" setvar="search_link"$>
1行目のMTVarタグでは、分割後の1ページあたりの記事数を指定します。
上の例では「value="10"」にしていますので、1ページに10件ずつ表示されます。
1-2.MTEntriesタグの書き換え
次に、テンプレート内でMTEntriesタグを探し、以下のように書き換えます。
<mt:Entries limit="$entries_per_page" search_results="1">
1-3.前後ページへのリンクの出力
次に、前後のページへのリンクを出力したい位置に、以下を追加します。
<$mt:Include module="ページネーション"$>
2.月別ブログ記事リストテンプレートの書き換え
月別アーカイブをページ分割する場合は、「月別ブログ記事リスト」のテンプレートを書き換えます。
2-1.テンプレートの先頭部分の書き換え
まず、テンプレートの先頭に以下を追加します。
<$mt:Var name="entries_per_page" value="10"$>
<mt:SetVarBlock name="search_link">
<$mt:CGIPath$><$mt:SearchScript$>?IncludeBlogs=<$mt:BlogID$>
&template_id=<$mt:BuildTemplateID$>
&limit=<$mt:Var name="entries_per_page"$>
&archive_type=<$mt:ArchiveType$>
&year=<$mt:ArchiveDate format="%Y"$>&month=<$mt:ArchiveDate format="%m"$>&day=
<$mt:ArchiveDate format="%d"$>
&page=
</mt:SetVarBlock>
<$mt:Var name="search_link" strip="" trim="1" encode_html="1" setvar="search_link"$>
1行目のMTVarタグでは、分割後の1ページあたりの記事数を指定します。
上の例では「value="10"」にしていますので、1ページに10件ずつ表示されます。
2-2.MTEntriesタグの書き換え
次に、テンプレート内でMTEntriesタグを探し、以下のように書き換えます。
<mt:Entries limit="$entries_per_page" search_results="1">
2-3.前後ページへのリンクの出力
次に、前後のページへのリンクを出力したい位置に、以下を追加します。
<$mt:Include module="ページネーション"$>
