2020.09.30
Movable Type:フォーム作成プラグイン「A-Form」で使用した変数や条件分岐
Movable Type のフォーム作成プラグイン「A-Form」のテンプレート作成中、実際に使用した条件分岐、条件分岐でハマったことを書いていきたいと思います!
▼参考サイト「【A-Form】確認画面やエラー画面で使える変数はありますか?」
https://www.ark-web.jp/movabletype/blog/2011/07/aform_getvar.html
目次
実際に使用した変数や条件分岐
変数:フォーム名
<mt:Var name="aform_title">
変数:フォームが設置されたページのURL
<mt:Var name="aform_url">
確認画面URLは「[path]/aform_engine.cgi」になります。
また <mt:CanonicalURL> が利用できません。
私は <body> の class に <mt:CanonicalURL> を利用しているので、その代わりに利用しました。
<mt:SiteURL setvar="site_url">
<mt:SiteRelativeURL setvar="site_relative_url">
<mt:SetVarBlock name="body_class"><mt:If name="aform_tmpl" eq="aform_confirm"><mt:Var name="aform_url" replace="index.html","">confirm<mt:Else><mt:CanonicalURL with_index="1"></mt:If></mt:SetVarBlock>
<mt:Var name="body_class" replace="$site_url","$site_relative_url" replace="/"," " replace=".html"," " trim="1" setvar="body_class">
<body class="<mt:Var name="body_class">">
出力結果(フォームを設置したURLは /inquiry/index.html とする):
<body class="inquiry confirm">
条件分岐:確認画面の場合
<mt:If name="aform_tmpl" eq="aform_confirm">確認画面<mt:Else>それ以外</mt:If>
例えば、ステッププログレスバーを表示したいときに利用しています。
<ol class="step">
<li<mt:If tag="EntryTitle" eq="入力画面"> class="is-current"</mt:If>>STEP1 入力</li>
<li<mt:If name="aform_tmpl" eq="aform_confirm"> class="is-current"</mt:If>>STEP2 確認</li>
<li<mt:If tag="EntryTitle" eq="完了画面"> class="is-current"</mt:If>>STEP3 完了</li>
</ol>
条件分岐:A-Form のテンプレートの場合
<mt:If name="aform_tmpl">A-Form のテンプレート<mt:Else>それ以外</mt:If>
「条件分岐:確認画面の場合」のモディファイアを削除しただけです。
条件分岐でハマったこと
「完了画面で利用できる変数」は、「URLで指定したページにジャンプ」のときは使用できない
「URLで指定したページにジャンプ」の場合は、通常の Movable Type 条件分岐を利用します。
入力画面の条件分岐はない(多分)
通常の Movable Type 条件分岐を利用します。
今後考察したいこと
▼参考サイト「A-Formのデザイン:条件分岐に便利な変数」
https://www.ark-web.jp/blog/archives/2019/12/aformAC2019_1205.html
以前の記事「Movable Type:フォーム作成プラグイン「A-Form」導入時の注意事項」で、
『テンプレートモジュール「ヘッダー」「フッター」が必要』と書いたのですが、
ブログID を取得できるなら、
<mt:Include module=”テンプレートモジュール名” blog_id=”$blog_id“>
で好きなモジュールが読み込めるのではないかと思っています。
どこかで実験してみたいです。