DEVELOPER’s BLOG
技術ブログ
Movable TypeにてブログIDで条件分岐する方法
2017.09.04
体験記
こんにちは。
弊社では、HPの開発にMovable Typeを使用することが多々あります。
このアクセルユニバースのホームページにもMovable Typeを使用し運営を行っています。
先日、緊急の時に備えて、ホームページのトップに地震などが起きた際、文言が表示されるようにしたいと依頼がありました。
わかりやすくいいますと、通常時はAのパターン、緊急時はBのパターンという全く違うスタイルを表示したいということです。
本日はその設定方法をご紹介します。
設定方法
まずは、既に作成されているウェブサイト内に新たにウェブページを作成します。作成したウェブページ内に文言があり、ステータスが公開になっていれば、その文言がホームページのトップに表示されるようにします。
作成したウェブページが公開か非公開かの判定処理を、ホームページのトップの内容を呼び出すのに使用しているテンプレートに記載します。
私が時間がかかってしまった箇所は、指定した(作成した)ウェブページが公開か非公開かの判定処理です。
実際のソースコード(所々書き換えています)
<mt:SetVarBlock name="blog_id"><$MTBlogID$></mt:SetVarBlock> <MTIf name="blog_id" eq="1">←ブログIDが「1」だった場合の処理 <MTPages include_blogs="21" id="公開したいウェブページのブログID">←指定したウェブページが公開だった場合(緊急時の処理) <div id="test1"> <div class="mainBanner"> <div class="exapmle"><$MTPagebody></div>←指定したウェブページの中身を表示するタグ </div> <div id="accel"></div> <div class="container"> </div> </div> <MTElse>←指定したウェブページが非公開だった場合(通常時の処理) <div id="test2"> <div class="mainBanner"> <div><img src="###" alt="###" width="###"></div> <div><img src="###" alt="###" width="###"></div> <div><img src="###" alt="###" width="###"></div> </div> <div id="accel"></div> <div class="container"> <ul> <li> <a href="javascript:void(0);"> <img src="###" alt="###"> </a> </li> <li> <a href="javascript:void(0);"> <img src="###" alt="###"> </a> </li> <li> <a href="javascript:void(0);"> <img src="###" alt="###"> </a> </li> </ul> </div> </div> </MTPages> </MTIf>
ブログIDで条件分岐するには下記を書かなければいけません。
<mt:SetVarBlock name="blog_id"><$MTBlogID$></mt:SetVarBlock> <MTIf name="blog_id" eq="1"> ブログIDが1だった場合の処理をここに書く(今回でいうとBのパターンの処理を記載する) </MTIf>
また
<mt:SetVarBlock name="blog_id"><$MTBlogID$></mt:SetVarBlock>
部分は改行してしまうと動作しないのでご注意ください。
(以前、改行が原因でしたハマりました。)
ブログ作成で大切なこと
多くの人に見てもらえるブログを作成するためには、わかりやすさが大切です。
わかりやすさとは、「必要な情報」が「必要なタイミングで得られる」ことだと考えています。上記の設定は、今回のような緊急時だけではなく、セールの情報など、読み手にとって有益な情報を出し分けることにも利用できます。
このブログが参考になりましたら嬉しいです。