0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【MT7】記事の表示方法を分ける(外部リンク or 記事詳細)

Last updated at Posted at 2023-05-11

はじめに

MovableType7
記事の表示方法を分岐する方法。

パターン1:記事の詳細を表示する。(タイトル、本文、日付…などが表示される)
パターン2:「URL」フィールドにURLが入力された場合、そのURLを外部リンクで開く。(詳細ページには飛ばない)

コンテンツタイプの管理

まzはコンテンツタイプの管理でコンテンツフィールドを作成します。
ここではURLというフィールドを作成します。

URL
image.png
※今後お客さん側で更新することが想定される場合、説明を入力しておくほうが良いです。

コンテンツタイプ登録画面

登録画面にはこのように表示されます。
image.png

コード

<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を表示する)

参考サイト

テンプレートタグで利用できる演算関数 | MovableType テンプレートタグリファレンス

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?