6.46 カスタムフィールドでおすすめ度順にソートする ★
P.599
カスタムフィールドの作成
「メインページ」インデックステンプレート(サンプルテンプレート)
...前略...
<div id="contents" class="clearfix">
<div id="main">
<p class="content-header">最近のブログ記事一覧</p>
<mt:entries sort_by="field:recommend">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
</mt:entries>
...後略...
★「メインページ」インデックステンプレート(デフォルトテンプレート)
デフォルトテンプレートの場合、「メインページ」インデックステンプレートを、次のようにカスタマイズします。
...前略...
001:<div id="alpha">
002: <div id="alpha-inner">
003: <MTEntries sort_by="field:recommend">
...後略...
P.601
ブログ記事を「おすすめ度」の昇順に表示する
「メインページ」インデックステンプレート(サンプルテンプレート)
...前略...
<div id="contents" class="clearfix">
<div id="main">
<p class="content-header">最近のブログ記事一覧</p>
<mt:entries sort_by="field:recommend" sort_order="ascend">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
</mt:entries>
...後略...
★「メインページ」インデックステンプレート(デフォルトテンプレート)
003のentriesタグにsort_orderモディファイアを追加し、モディファイアの値に、昇順を示すascendを設定します。
...前略...
001:<div id="alpha">
002: <div id="alpha-inner">
003: <MTEntries sort_by="field:recommend" sort_order="ascend">
...後略...
P.602
「おすすめ度」をブログ記事に表示する
「ブログ記事の概要」テンプレートモジュール
<mt:if tag="recommend">
<p class="recommend">この記事のおすすめ度: <mt:recommend /></p>
</mt:if>
<div class="content">
<h2 id="a<mt:entryID pad="1" />" class="entry-header"><a href="<mt:entryPermalink
...後略...
「スタイルシート」インデックステンプレート(サンプルテンプレート)
.recommend {
margin-bottom: 10px;
font-size: 75%;
}
★「ブログ記事の概要」テンプレートモジュール(デフォルトテンプレート)
元のテンプレートに003~005を追加しています。スタイルシートの設定は不要です。
001:<$MTEntryTrackbackData$>
002:<div id="entry-<$MTEntryID$>" class="entry-asset asset hentry">
003:<mt:ifNonEmpty tag="recommend">
004: <p class="recommend">この記事のおすすめ度: <mt:recommend /></p>
005:</mt:ifNonEmpty>
006: <div class="asset-header">
007: <h2 class="asset-name entry-title" rel="bookmark"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h2>
...後略...
「おすすめ度」をブログ記事に表示し、同じおすすめ度を連続表示しない
「ブログ記事の概要」テンプレートモジュール(サンプルテンプレート)
...前略...
<mt:if tag="recommend">
<mt:if tag="recommend" ne="$recommend">
<p class="recommend">この記事のおすすめ度: <mt:recommend /></p>
</mt:if>
<mt:recommend setvar="recommend" />
</mt:if>
<div class="content">
<h2 id="a<mt:entryID pad="1" />" class="entry-header"><a href="<mt:entryPermalink
...後略...
★「ブログ記事の概要」テンプレートモジュール(デフォルトテンプレート)
元のテンプレートに003~007を追加しています。処理の流れはサンプルテンプレートと同じです。
001:<$MTEntryTrackbackData$>
002:<div id="entry-<$MTEntryID$>" class="entry-asset asset hentry">
003:<mt:ifNonEmpty tag="recommend">
004:<mt:if tag="recommend" ne="$recommend">
005: <p class="recommend">この記事のおすすめ度: <mt:recommend /></p>
006:</mt:if>
007:<mt:recommend setvar="recommend" />
008:</mt:ifNonEmpty>
009: <div class="asset-header">
010: <h2 class="asset-name entry-title" rel="bookmark"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h2>
...後略...
P.603
おすすめ度を設定していないブログ記事を一番最後に表示する
「メインページ」インデックステンプレート
<div id="contents" class="clearfix">
<div id="main">
<p class="content-header">最近のブログ記事一覧</p>
<mt:entries sort_by="field:recommend" sort_order="ascend">
<mt:if tag="recommend">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
</mt:if>
</mt:entries>
<mt:entries>
<mt:unless tag="recommend">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
</mt:unless>
</mt:entries>
<p class="content-nav"><a href="<mt:link template="archive_index" />">アーカイブ</a></p>
</div>
P.604
特定のおすすめ度をフィルタリングする
「メインページ」インデックステンプレート
...前略...
<div id="contents" class="clearfix">
<div id="main">
<p class="content-header">最近のブログ記事一覧</p>
<mt:entries field:recommend="★★★★★">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
</mt:entries>
<p class="content-nav"><a href="<mt:link template="archive_index" />">アーカイブ</a></p>
...後略...
★「メインページ」インデックステンプレート(デフォルトテンプレート)
元のテンプレートの003に、field:recommendモディファイアを追加しています。
...前略...
001:<div id="alpha">
002: <div id="alpha-inner">
003: <MTEntries field:recommend="★★★★★">
...後略...