2013年3月13日

マルチブログでブログの表示順を任意の順に

1つのウェブサイトで複数のブログ(マルチブログ)を作成して、
ウェブサイト上で任意の順に表示出来ないかを探してみたら、
The blog of H.Fujimotoさんの記事で「ブログ一覧の並べ替え」を見つけました。


自分が必要となる部分のみを抜粋してみました。


  1. システムのダッシュボードを開きます。
  2. カスタムフィールドを新規で作成します。
  3. 設定値を下記で登録します。
    システムオブジェクト 「ブログ
    名前 「並び」(わかりやすいように)
    説明 空欄でOK
    種類 「テキスト
    既定値 空欄でOK
    ベースネーム 「blog_sort_order
    テンプレートタグ 「BlogSortOrder
  4. カスタムテンプレートを保存します。
  5. 個々のブログを開き、管理画面「設定」→「全般」へ進み
    「全般設定」のページの「ブログ設定」の部分に作成した「並び」が追加されてます。
  6. 「並び替」の欄に数値を設定します。
    この数値の順に表示されます。

では、テンプレートを・・・・(上下は省略してます。)
<mt:Blogs include_blogs="children">
<$mt:BlogSortOrder setvar="blog_sort_order"$>
    <mt:SetVarBlock name="blog_list" key="$blog_sort_order">
        <p><a href="<$mt:BlogURL$>"><$mt:BlogName$></a></p>
            <mt:Entries>
                <mt:EntriesHeader></mt:EntriesHeader>
                <p><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></p>
                <mt:EntriesFooter></mt:EntriesFooter>
            </mt:Entries>
        </mt:SetVarBlock>
    </mt:Blogs>
    <mt:Loop name="blog_list" sort_by="key numeric">
    <mt:If name="__first__">
    <div>
    </mt:if>
    <$mt:GetVar name="__value__"$>
    <mt:If name="__last__">
    </div>
    </mt:if>
</mt:Loop>

これをテンプレートにコピペすれば使えます。


The blog of H.Fujimotoさんに感謝!!

ドメインって、早い者勝ちですよ!