PowerCMS™

【東京セミナー】6月6日(木) 企業Webリニューアル。最初に押えたい要件定義の進め方と、最新CMSで出来ること

PowerCMS ブログ

ホーム > PowerCMS ブログ > 各種グループの情報を取得するObjectGroupsプラグイン

2009年10月17日

各種グループの情報を取得するObjectGroupsプラグイン

Power CMS for MTの強力なグループ機能を利用すれば、ブログ記事/ウェブページ/カテゴリ/フォルダ/ブログ(あるいはそれらの混在)をドラッグ&ドロップでグループ化し、表示順を自由に指定できます。

オブジェクト・グループの編集画面(クリックで拡大)

この機能をさらに活かすために、登録されているグループを順番に取得するブロックタグ(プラグイン)を作成しましたので公開します(Power CMS for MTが必要です)。

※現在のところスタティック・パブリッシング専用です

インストール

OptionPluginsの中のObjectGroupプラグインをインストールして有効にし、ObjectGroupプラグインまたはPowerCMSプラグインディレクトリにダウンロードしたObjectGroupsプラグインを設置してください。

テンプレートタグ

各グループを取り出すブロック・タグ
  • MTEntryGroups(エントリーグループ(MTItemGroupEntries))
  • MTCategoryGroups(カテゴリーグループ(MTItemGroupCategories))
  • MTBlogGroups(ブログ・グループ(MTItemGroupBlogs))
  • MTObjectGroups(オブジェクトグループ(MTObjectGroupItems))
各ブロック・タグで指定できるモディファイア
  • blog_id('0'を指定するとシステムメニューで作成したグループを、'*'を指定するとすべてのブログを対象にします)
  • blog_ids(カンマ区切り)
  • lastn(出力件数)
  • sort_by(ソート順/デフォルトではID)
  • sort_order(ascend-昇順/descend-降順)
各ループの最初/最後を判別するブロック・タグ
  • MTEntryGroupsHeader(MTEntryGroupsFooter)
  • MTCategoryGroupsHeader(MTCategoryGroupsFooter)
  • MTBlogGroupsHeader(MTBlogGroupsFooter)
  • MTObjectGroupsHeader(MTObjectGroupsFooter)
各ループの中でグループの情報を取得するファンクション・タグ
  • MTGroupName(グループの名称)
  • MTItemCount(グループに登録されているアイテム数)

テンプレート

以下のテンプレートでは、ObjectGroupの名前とアイテム数を出力します。

<MTObjectGroups blog_ids="1,3">
<MTObjectGroupsHeader>
<table border="1">
    </MTObjectGroupsHeader>
    <tr>
        <td>
            <$MTGroupName$></td>
        <td>
            <$MTItemCount$></td>
    </tr>
    <MTObjectGroupsFooter>
</table>
</MTObjectGroupsFooter>
</MTObjectGroups>

具体的には、以下のようにすることで各グループのループを順番に取り出すことができます。取得したグループ名をSetVarしてグループを特定します。こちらもObjectGroupの例です。

<MTObjectGroups blog_ids="1,3">
    <$MTGroupName setvar="GroupName"$>
    <MTObjectGroupItems name="$GroupName">
        グループのアイテムを順番に出力...
    </MTObjectGroupItems>
</MTObjectGroups>

カテゴリー
テンプレート作成Tips
プラグイン

Recent Entries