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="★★★★★">
    ...後略...

ウェブページ

Powered by Movable Type 4.261

このアーカイブについて

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。