PowerCMS™
ホーム > PowerCMS > ドキュメント > スタンダード版 > DynamicMTML >

テンプレートタグの活用例

アドオン・プラグイン

例1: 本文欄をキーワードで検索する (/file.html?q=keyword)

<mt:dynamicmtml>
  <mt:query key="q" escape="html" setvar="query">
  <mt:if name="query">
    <mt:query key="limit" intval="1" setvar="limit">
    <mt:unless name="limit">
      <mt:setvar name="limit" value="20">
    </mt:unless>
    <mt:searchentries target="text" query="$query" lastn="$limit" count="1">
      <mt:if name="__first__">
        <div class="search-entry widget">
          <h3 class="widget-header">
            '<$mt:var name="query"$>'の検索結果
            (<mt:var name="__entries_count__">件がマッチ)
          </h3>
        <ul>
      </mt:if>
      <li>
        <a href="<$mt:entrypermalink$>"><$mt:entrytitle escape="html"$></a>
      </li>
      <mt:if name="__last__">
        </ul>
        <mt:if name="__entries_count__" gt="$limit">
          <p>
            <a href="<mt:CurrentArchiveUrl>?q=<$mt:var name="query" escape="url"$>&amp;limit=<mt:var name="__entries_count__">">More</a>
          </p>
        </mt:if>
      </mt:if>
    </mt:searchentries>
  </mt:if>
</mt:dynamicmtml>

例2: 検索エンジンからの流入時に本文に検索ワードを含むブログ記事を10件リストアップして表示する (検索ワードをハイライト表示する)

検索エンジンの仕様変更により、検索キーワードが取得できなくなりました。そのため、正しく動作しない可能性があります。

<mt:dynamicmtml>
  <mt:archivetype setvar="archive_type">
  <mt:if name="archive_type" eq="Individual">
    <$mt:entryid setvar="me"$>
  <mt:elseif name="archive_type" eq="Page">
    <$mt:pageid setvar="me"$>
  </mt:if>
  <$mt:setvar name="entries_max" value="10"$>
  <$mt:setvar name="entries_counter" value="0"$>
  <mt:referralkeywords trimwhitespace="1">
    <mt:if name="entries_counter" lt="$entries_max">
      <mt:searchentries target="text" query="$keyword" unique="1" lastn="$entries_max" not_entry_id="$me" class="*" highlightingsearchword="1">
        <mt:unless name="entries_counter">
          <div class="related-entry widget">
            <h3 class="widget-header">Your serarch keyword '<$mt:referralkeyword escape="html"$>'?</h3>
            <ul>
        </mt:unless>
        <mt:if name="entries_counter" lt="$entries_max">
          <li><a href="<$mt:entrypermalink$>"><$mt:entrytitle escape="html"$></a></li>
        </mt:if>
        <$mt:setvar name="entries_counter" value="1" op="+"$>
      </mt:searchentries>
    </mt:if>
  </mt:referralkeywords>
  <mt:if name="entries_counter">
            </ul>
          </div>
  </mt:if>
</mt:dynamicmtml>

例3: PC 向けにはスタティックなページを返し、携帯電話・スマートフォンからアクセスされた際には別のテンプレートで動的処理する

<mtml tag="mt:IfUserAgent" params='wants="keitai"'>
  <mt:dynamicmtml>
    <$mt:include module="携帯用テンプレート"$>
  </mt:dynamicmtml>
<mtml tag="mt:else">
  <mtml tag="mt:IfUserAgent" params='wants="SmartPhone"'>
    <mt:dynamicmtml>
      <$mt:include module="スマートフォン向けテンプレート"$>
    </mt:dynamicmtml>
  <mtml tag="mt:else">
    <$mt:include module="PC向けテンプレート"$>
  <mtml tag="/mt:else">
  <mtml tag="/mt:IfUserAgent">
  <mtml tag="/mt:else">
<mtml tag="/mt:IfUserAgent">

例4: 権限のあるユーザーに編集画面へのリンクを表示する

<mt:dynamicmtml>
  <mt:IfUserHasPermission permission="edit_all_posts">
    <$mt:setvar name="can_post" value="1"$>
  <mt:Else>
    <mt:IfUserHasPermission permission="publish_post">
      <$mt:entryAuthorId setvar="entry_author_id"$>
      <$mt:AuthorId setvar="client_author_id"$>
      <mt:if name="entry_author_id" eq="client_author_id">
        <$mt:setvar name="can_post" value="1"$>
      </mt:if>
    </mt:IfUserHasPermission>
  </mt:Else>
  </mt:IfUserHasPermission>
  <mt:if name="can_post">
    <p>
      <a href="<$mt:CGIPath$><$mt:AdminScript$>?__mode=view&amp;_type=entry&amp;id=<$mt:EntryID$>&amp;blog_id=<$mt:BlogID$>">編集</a>
    </p>
  </mt:if>
</mt:dynamicmtml>

お問い合わせ

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

製品資料ダウンロード

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