はじめに
MovableType7
記事の表示方法を分岐する方法。
パターン1:記事の詳細を表示する。(タイトル、本文、日付…などが表示される)
パターン2:「URL」フィールドにURLが入力された場合、そのURLを外部リンクで開く。(詳細ページには飛ばない)
コンテンツタイプの管理
まzはコンテンツタイプの管理でコンテンツフィールドを作成します。
ここではURLというフィールドを作成します。
◎ URL
※今後お客さん側で更新することが想定される場合、説明を入力しておくほうが良いです。
コンテンツタイプ登録画面
コード
<mt:Contents content_type="お知らせ">
<li class="news__item">
<$mt:setvar name="target_link"$>
<mt:ContentField content_field="URL">
<$mt:setvar name="target_link" value='target="_blank"'$>
<$mt:ContentFieldValue setvar="url_link"$>
<mt:else>
<$mt:ContentPermalink setvar="url_link"$>
</mt:ContentField>
<a href="<$mt:var name='url_link'$>" <$mt:var name='target_link'$>>
<p class="title"><$mt:ContentLabel$></p>
</a>
</li>
</mt:Contents>
説明
<$mt:setvar name="target_link"$>
1)target_linkという変数を作成しています。
外部リンクの有無に使用します。
<mt:ContentField content_field="URL">
2)コンテンツタイプの管理で作成した「URL」フィールドを指定します。
<$mt:setvar name="target_link" value='target="_blank"'$>
<$mt:ContentFieldValue setvar="url_link"$>
3)変数target_linkに「target="_blank"」を代入します。
次に「入力値」を変数url_linkとして設定します。
これらの処理はURLフィールドに値が入力されたときのみ有効になります。
~省略~
<mt:else>
<$mt:ContentPermalink setvar="url_link"$>
</mt:ContentField>
4)次に、「URL」フィールドに値が入力されていない場合の処理を記述します。
記事の詳細にアクセスされます。
・ContentPermalink:コンテンツデータが公開されているURLを表示する。(=記事のURLを表示する)