PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。
ホーム > ドキュメント > PowerCMS > 5 > スタンダード版 > DynamicMTML >

こちらは旧バージョン PowerCMS 5 のマニュアルです。最新版のマニュアルにつきましては PowerCMS ドキュメント を参照してください。

DynamicMTML の利用例

アドオン・プラグイン
タグ

テンプレートタグの活用

DynamicMTML プラグインには動的にコンテンツを切り替えるために利用できるいくつかのダイナミックパブリッシング用テンプレートタグが用意されています。また、Perl によるスタティックパブリッシングと PHP による DynamicMTML を組み合わせて利用するためのスタティックパブリッシング用のテンプレートタグが用意されています (なお、これらのタグはスタティックパブリッシングにも対応していますが、例えば検索キーワード関連のタグやユーザーのログイン状態を判別するタグなどは mt-search.cgi を始めとした CGI による動的処理を経ない限り意図通りに動作しません)。

以下、いくつかテンプレートの例を紹介します。

リクエストの状況によって動的に表示を切り替える

続いて、アクセスしたクライアントの情報によって表示内容を動的に切り替える例を紹介します。DynamicMTML に同梱されているファンクションタグ MTUserAgent を使って表示内容を切り替えてみます。

<$MTUserAgent setvar="UA">
<mt:if name="UA" like="iPhone">
  iPhoneからようこそ
<mt:else>
  iPhoneは買いましたか?
</mt:if>

iPhone で表示確認

クエリー文字列によって動的に出力内容を切り替える

MTQuery タグと MTSearchEntries タグを組み合わせて動的に異なるエントリーリストを出力する例を紹介します。

<$MTQuery key="query" setvar="query"$>
<mt:if name="query">
  <mtsearchentries target="title" query="$query" lastn="10" operator="LIKE">
    <mt:if name="__first__">
      <h3>タイトルに'<mt:var name="query" escape="html"/>'を含むブログ記事</h3>
      <ul>
    </mt:if>
    <li><a href="<mt:EntryPermalink/>"><mt:EntryTitle remove_html="1"/></a></li>
    <mt:if name="__last__">
      </ul>
    </mt:if>
  </mtsearchentries>
</mt:if>

ページの URL にクエリ文字列 ?query=foo を付けてアクセスします。

クエリ文字列をつけてアクセス

タイトルに特定の文字列を含むエントリーの一覧を表示します。

記事のリストが表示された

ブログのダイナミックパブリッシング設定「ビルド結果をキャッシュする」にチェックを入れた場合、クエリ付きのリクエストはクエリ毎にキャッシュが保存されます。これにより同一のクエリ付きリクエストに対する動的な再構築処理の負荷を押さえることができます。

ログイン状態やユーザーによってページの表示を変化させる

ブロックタグ MTIfLogin を利用してユーザーやユーザーのログイン状態によってページの内容を変化させる例を紹介します。

<mt:IfLogin>
  <$MTAuthorDisplayName encode_html="1"$>さん、ようこそ
  <a href="<$MTCGIPath$><$MTCommentScript$>?__mode=edit_profile&amp;return_url=<$MTEntryPermalink encode_url="1"$>">[プロフィールの編集]</a>
  <a href="<$MTCGIPath$><$MTCommunityScript$>?__mode=logout&amp;return_url=<$MTEntryPermalink encode_url="1"$>">[ログアウト]</a>
<mt:Else>
  <a href="<$MTCGIPath$><$MTCommentScript$>?__mode=login&amp;blog_id=<$MTBlogID$>&amp;return_url=<$MTEntryPermalink encode_url="1"$>">サインインしてください</a>
</mt:IfLogin>

ログイン済みの場合は以下のように表示されます。

ログイン時の表示

ログインしていない場合は以下のように表示されます。

ログアウト時の表示

MTIfLogin 内の記事リストはユーザーアーカイブとして振る舞うようになっています。コミュニティサイト等でユーザーが作成した最近の記事を表示する場合などに活用できます。


お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。