この記事は A-Form Advent Calendar 2019 参加記事です。
こんにちは。デザイナーの小森です。
A-Formドキュメントに記載があるものの、あまり注目されていない機能について紹介したいと思います。
A-Formの確認画面や完了画面でも、デザインを出しわけたいときがありますよね。
いくつか方法がありますが、MTタグによる条件分岐を使用する方法についてご紹介します。
ドキュメント:【A-Form】確認画面やエラー画面で使える変数はありますか?
にあるように、A-Formテンプレートで使用できる変数がいくつかあります。
このうち、IDを取得することができる変数にご注目ください。
| id | フォームID |
|---|---|
| blog_id | ブログID |
| entry_id | エントリーID(ウェブページの場合はページID) |
これをMTタグの条件分岐でうまく使うと、
出しわけができるようになります。
たとえば、
フォームごとなら
<mt:if name="id" eq="1">
ここにフォームID=1の時のマークアップを書く。
<mt:else>
ここにブログID=1以外の時のマークアップを書く。
</mt:if>
ブログごとなら
<mt:if name="blog_id" eq="1">
ここにブログID=1の時のマークアップを書く。
<mt:else>
ここにブログID=1以外の時のマークアップを書く。
</mt:if>
といったかたちです。
応用編として、「エントリーID」をうまく使うと、
記事やウェブページで入力した「記事タイトル」や「カスタムフィールドの値」を確認画面に出す、なんてことができるようになります。
たとえば、
という場合。
下記のように mt:PagesタグのidモディファイアにエントリーIDをセットすることで、入力画面を設定したウェブページの情報を取得することができます。
<mt:Pages id="$entry_id">
<mt:SetVarBlock name="page_title"><mt:PageTitle></mt:SetVarBlock>
<mt:SetVarBlock name="page_kv"><mt:If tag="pageKeyImage"><mt:pageKeyImageAsset><mt:AssetURL setvar="page_kv"></mt:pageKeyImageAsset></mt:If></mt:SetVarBlock>
</mt:Pages>
<header id="header" role="banner">
<div id="header-inner">
<div class="site-name"><a href="/">Test-Company</a></div>
<div id="header-content" style="background-image:url(<$mt:Var name="page_kv"$>);">
<h1><$mt:Var name="page_title"$></h1>
</div>
</div>
</header>
こんな感じの確認画面が実現できます。
どうぞお試しください!
(※MT7のコンテンツデータのID取得は現バージョンでは未対応です)