Zenn
📃

【Movable Type】コメントアウト機能について

2025/01/10に公開

概要

MT(PowerCMS含む、以下同)のコメントアウト機能について解説しています。
MTで利用できるコメントアウトタグは以下の2つです。

  • MTTemplateNote
  • MTIgnore

たとえば出力テンプレートの拡張子が.htmlである場合、HTMLのコメントアウトタグ(<!-- -->)をMTMLのコメントアウトとして利用することは可能ですが、そのまま記述してしまうとテンプレート生成時にこれらのコメントも一緒に出力されてしまいます。
MTのコメントアウト機能を利用することで、テンプレート生成時に適切に処理されるようになります。

MTTemplateNote

1行コメント専用のファンクションタグ。モディファイアで指定した内容は出力(処理)されない。

<$mt:TemplateNote value="ここに書かれた内容は、テンプレート処理の中で無視されます"$>

value

コメントの内容を指定する。

MTIgnore

複数行に対応したブロックタグ。この中で記載する内容は、HTMLタグやMTタグ、通常文字列など種類にかかわらず出力(処理)されない。

<mt:Ignore>
  このブロックタグの中に記載する内容は、一切出力されません。
  <mt:Entries><$mt:Title$></mt:Entries> ←これも出力されません
</mt:Ignore>

利用例など

以下は一例で、記事リストアーカイブテンプレートにおけるコメントアウトの記述です。

<mt:Ignore><!-- //////////////////////////////
// カテゴリ一覧テンプレート
// 2023.11.15 作成
// 2024.12.14 変更
//
// line:XX〜XX mt:Entriesループ処理追加
////////////////////////////// --></mt:Ignore>

MTのテンプレートエディタにおいて、MTIgnoreタグ自体はハイライトされますが、その中に記述された内容はそのままではハイライトされません。ただしHTMLのコメントアウトタグ(<!-- -->)はハイライトされるため、MTIgnoreの中にHTMLのコメントアウトを記述して、その中でコメントを書くようにしています。
このようにすることでどちらも記述がハイライトされるため、「コメントアウトの記述であること」がわかりやすくなります。

なお、MTTemplateNote MTIgnoreいずれもテンプレート内で重複して利用が可能です。
MTのコメントアウトに限ったことではないですが、あまり長いコメントはコードの可読性を低下させることにもなるため、適切な利用を心がけるとよいかと思います。

公式リファレンス

MT

PowerCMS

Discussion

ログインするとコメントできます