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

PowerCMSコア機能のテンプレートタグ

アドオン・プラグイン

ブロックタグ

MTBreadcrumbs
パンくずリストを生成するためのブロックタグです。例えば記事テンプレートで利用した場合、ウェブサイト→ブログ→カテゴリ→サブカテゴリ→記事の順に、アーカイブへのリンクとオブジェクト名をコンテキストにセットしてループ出力します。
<MTBreadcrumbs glue="&gt;">
<a href="<$MTBreadcrumbsURL escape="html"$>"><$MTBreadcrumbsLabelescape="html"$></a>
</MTBreadcrumbs>
MTRequestCache
同一の管理画面CGIへのリクエストの間、このブロックの中は一度だけビルドされ、以降はメモリにキャッシュされた同一の値を返します。再構築の高速化に効果を発揮します。key と blog_id モディファイアで内容を識別します。
<MTRequestCache key="foo" blog_id="1">
  <$MTTemplateNote value="Do Something."$>
</MTRequestCache>
MTCSSCompressor
スタティックパブリッシング専用のタグです。タグで囲まれた部分の CSS を圧縮します。
MTJSCompressor
スタティックパブリッシング専用のタグです。タグで囲まれた部分の JavaScript を圧縮します。
MTCMSContext
記事/ウェブページ/カテゴリの編集画面で管理画面のテンプレートの中で利用します。各テンプレート内で、MTEntry/MTPage/MTCategory 関連のタグが利用できるようになります (管理画面専用)。
MTCountGroupBy
オブジェクトをカウントします。model モディファイアでオブジェクトを column モディファイアでカラム名を指定します (author オブジェクトは指定できません)。
<MTCountGroupBy model="entry" not_null="1" column="keywords" sort_by="count" sort_order="descend">
  <mt:if name="__first__"><ul></mt:if>
    <li>(<$mt:CountGroupCount$>)<$mt:CountGroupValue escape="html"$></li>
  <mt:if name="__last__"></ul></mt:if>
</MTCountGroupBy>
MTSearchEntryField
カスタムフィールドを field モディファイアで指定して query モディファイアで指定した値で検索します。
<MTSearchEntryField field="cf" query="Foo" class="entry">
Do Something.(カスタムフィールド cf に「Foo」を含む記事のループ)
</MTSearchEntryField>
<MTSearchEntryField field="cf" multi="1" query="1 2" and_or="and" separator=" " class="page">
Do Something. (カスタムフィールド cf の「1」と「2」を含むウェブページのループ)
</MTSearchEntryField>
<MTSearchEntryField field="cf" multi="1" query="1,2" and_or="or" pre_suffix="," class="page">
Do Something. (カスタムフィールド cf の「,1,」または「,2,」を含むウェブページのループ)
</MTSearchEntryField>
MTTabSplitData
タブ区切りテキストを1行ずつループでデータを取り出すブロックタグです。object モディファイアにテーブル名、column モディファイアにカラム名を指定します。ループの中では MTTabSplitLine ファンクションタグでデータを取り出します。
MTIfEntryIsinCategory
記事/ウェブページーのコンテキストの中で、現在セットされているカテゴリ (のコンテキスト) に記事が含まれている場合に出力されます。
MTIfModule
module モディファイアで指定したPerlモジュールが利用可能な場合内容を出力します。
<MTIfModule module="XML::Parser">XML::Parser がインストールされています。</MTIfModule>
MTIfPerlModule
MTIfModuleのエイリアスです。
MTIfPlugin
plugin または component モディファイアで指定したプラグインがインストールされている場合内容を出力します。
MTIfComponent
MTIfPluginのエイリアスです。
MTIfUserRole
現在のユーザーがroleモディファイアで指定した権限を有している場合内容を出力します。include_superuserモディファイを指定した場合、現在のユーザーがシステム管理者の場合強制的に内容を出力します(管理画面専用)。
MTIfUserCan
現在のユーザーがpermissionモディファイアで指定した権限を有している場合内容を出力します(管理画面専用)。
MTIfSecure
現在のリクエストが HTTPS 通信である場合に内容を出力します。
MTIfIE
Web ブラウザが Internet Explorerである場合内容を出力します。
MTIfTheURLFound
url モディファイアで指定した URL にファイルが存在する場合に内容を出力します。target_dynamic を指定するとダイナミックパブリッシングで該当のページが存在するかどうかをチェックします。target_outlink を指定することで外部サーバーの URL をチェックします。通常は DynamicMTML と併用してリンク切れ防止のために使用します。
MTStripTags

このタグで囲われた内容からは、環境変数 AllowableTags で指定された HTML タグ以外および PHP コードが削除されて出力されます。 allowable_tags モディファイアを指定した場合、環境変数 AllowableTags よりモディファイアの指定が優先されます。

例: 記事の本文に記述された内容のうちリンクタグ以外およびPHPコードは削除されて出力される

<MTStripTags allowable_tags="<a>">
  <$MTEntryBody$>
</MTStripTags>

ファンクションタグ

MTBreadcrumbsURL
アーカイブへの URL を出力します。ウェブサイト/ブログの場合はウェブサイト/ブログの URL、カテゴリの場合はカテゴリーアーカイブへのリンク、記事/ウェブページの場合はパーマリンクを出力します。
MTBreadcrumbsLink
MTBreadcrumbsURL へのエイリアスです。
MTBreadcrumbsLabel
アーカイブ名を出力します。ウェブサイト/ブログの場合はウェブサイト/ブログの名前、カテゴリの場合はカテゴリーのラベル、記事/ウェブページの場合はタイトルを出力します。
MTBreadcrumbsTitle
MTBreadcrumbsLabel へのエイリアスです。
MTTabSplitLine

MTTabSplitData 内で利用します。各行のデータを取り出します。field モディファイアで何番目のカラムを取り出すかを指定します (スタティック専用)。

1列目に URL、2列目にラベルを指定したタブ区切りデータからリンクリストを生成する例

<ul>
  <MTTabSplitDatas object="entry" column="excerpt">
  <li><a href="<$MTtabsplitline field="1"$>"><$MTtabsplitline field="2"$></a></li>
  </MTTabSplitDatas>
</ul>
MTPluginSetting
name モディファイア、component モディファイア、blog_id モディファイア (省略時は system) を指定してプラグイン設定の値を取得します (スタティック専用)。
MTPowerCMSFilesDir
PowerCMSFilesDir (PowerCMSが一時的にファイルを書き込むディレクトリ) へのパスを返します。
MTThisURL
現在のページのURLを出力します (管理画面専用)。
MTCountGroupValue
MTCountGroupBy ブロックタグ内でグループ化された値を出力します。
MTCountGroupCount
MTCountGroupBy ブロックタグ内でグループ化された値の数を出力します。
MTGetEnv
name モディファイアで指定したサーバー環境変数を出力します。
MTGetCookie
name モディファイアで指定した Cookie の値を出力します。
MTVarDump
テンプレートにセットされているvars (MTVar タグで出力できる値) をダンプしたデータを出力します。
MTCookieDump
Cookie をダンプしたデータを出力します。
MTQueryDump
クエリー文字列をダンプしたデータを出力します。
MTEnvDump
サーバー環境変数をダンプしたデータを出力します。
MTRebuildBlog
blog_id または blog_ids (カンマで区切られたブログの ID) モディファイアと archivetype (カンマで区切られた) モディファイア (省略時はすべてが対象となります) を指定してウェブサイト/ブログを再構築します。RebuildTriggerBackgroundTasks 環境変数を指定すると、バックグラウンドで再構築処理を行います (この設定は FastCGI 環境では無効になります)。
MTRebuildIndexByID
template_id (カンマで区切られたインデックステンプレートの ID) モディファイアを指定してインデックスアーカイブを再構築します。RebuildTriggerBackgroundTasks 環境変数を指定すると、バックグラウンドで再構築処理を行います (この設定は FastCGI 環境では無効になります)。
<$MTRebuildIndexById template_id="18,19"$>
MTRebuildIndexByBlogID
blog_id または blog_ids (カンマで区切られたウェブサイト/ブログの ID) モディファイアと archivetype (カンマで区切られた) モディファイアを指定してブログのインデックスアーカイブを再構築します。archivetype モディファイアを省略した場合はすべてが対象となります。RebuildTriggerBackgroundTasks 環境変数を指定すると、バックグラウンドで再構築処理を行います (この設定は FastCGI 環境では無効になります)。
MTEntryUnpublishedOn
非公開指定日を日付フォーマットで出力します。format モディファイアで日付表示のフォーマットが可能です。

モディファイア

tab2table
スタティックパブリッシング専用です。タブ区切りテキストからテーブルタグを作成します。モディファイアの値に 1 から 4 が指定できます。 1 (見出しなし): すべてのセルは td 要素として出力されます。 2 (行を見出しに): 1行目のセルのみ th 要素で、その他のセルは td 要素として出力されます。 3 (列を見出しに): 1列目のセルのみ th 要素で、その他のセルは td 要素として出力されます。 4 (行,列を見出しに): 1行目のセルと1列目のセルを th 要素として、その他のセルを td 要素として出力します。 表計算ソフトのデータをフィールドにペーストする(タブ区切りテキストとしてペーストされます) 例: 記事/ウェブページの概要欄を1行目を見出しにしてテーブルとして出力する

<$MTEntryExcerpt tab2table="2"$>

stripemptylines
空行を削除します (スタティック専用)。
absolute
URL を絶対パスに変更します。
setloop
テンプレート変数に格納された内容を区切り文字 (既定値はカンマ) で区切って options_loop に配列変数をセットします。

変数 options を options_loop に配列としてセットしてループ出力する例

<$MTVar name="options" set_loop="options_loop"$>
<$MTLoop name="options_loop">
  __value__: <$MTVar name="__value__"$>
</MTLoop>

モディファイアは三つの引数を渡すことができます。

<$mt:var name="options" set_loop="options_loop",",","unshift"$>

  1. セットするテンプレート変数の名前。
  2. 区切り文字 (省略可、省略された場合はカンマ)。
  3. セット方法 (省略可、「push」なら後ろに追加、「unshift」なら前に追加
trimj_to
マルチバイト文字数 (シングルバイト文字は2文字で1文字とみなる) で文字列をトリミングします。第二引数を渡すことで、省略された文字列の後ろに文字列を繋げることができます。

<$MTVar name="foo" trimj_to="15","..."$>


お問い合わせ

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

製品資料ダウンロード

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