拙著「個人投資家は低位株で儲けなさい」が発売されました。
株価が安い「低位株」に投資する方法を解説しています。
自由国民社刊で、定価1,512円(消費税込み)です。
テンプレートの種類を判断するプラグイン
Movable Typeでは、テンプレートモジュールを使うと、複数のテンプレートの共通部分を一箇所にまとめることができます。
そして、MTIncludeタグを使うことで、テンプレートモジュールを他のテンプレートに組み込むことができます。
日別/月別/カテゴリーの各アーカイブテンプレートは、内容がかなり似通っています。
そこで、テンプレート全体をテンプレートモジュール化して、アーカイブごとに違うところを条件判断で処理を分けるようにすれば、これらのテンプレートをかなり共通化することができます。
そのようなことをするために、テンプレートの種類を判断するプラグインを作成しました。
1.プラグインのインストール
以下のアドレスにアクセスすると、プラグインのソースコードをダウンロードすることができます。
ファイルには「IfTemplateType.pl」という名前をつけて保存します。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードが終わったら、そのファイルをMovable Typeの「plugins」ディレクトリにアップロードします。
2.追加されるタグ
このプラグインをインストールすると、「MTIfTemplateType」という条件タグが追加されます。
「type」というアトリビュートを使って、テンプレートの種類を判断します。指定できる値は以下の通りです。
値 | 内容 |
---|---|
Index | インデックステンプレートかどうかを判断する |
Category | カテゴリーアーカイブテンプレートかどうかを判断する |
Monthly | 月別アーカイブテンプレートかどうかを判断する |
Weekly | 週別アーカイブテンプレートかどうかを判断する |
Daily | 日別アーカイブテンプレートかどうかを判断する |
Individual | エントリーアーカイブテンプレートかどうかを判断する |
3.利用例
例えば、テンプレートモジュールを1つ作り、以下のようにタグを組むとします。
<MTIfTemplateType type="Index"> インデックステンプレートです。 </MTIfTemplateType> <MTIfTemplateType type="Category"> カテゴリーアーカイブテンプレートです。 </MTIfTemplateType>
このテンプレートモジュールをインデックステンプレートに組み込むと、組み込んだ位置に「インデックステンプレートです。」と表示されます。
また、カテゴリーアーカイブテンプレートに組み込むと、その位置に「カテゴリーアーカイブテンプレートです。」と表示されます。
そして、それ以外のテンプレートでは、何も表示されません。
4.複数種類のテンプレートで共通の処理をしたい場合
「日別と月別のテンプレートでは前後のアーカイブページへのリンクを表示し、それ以外ではリンクは表示しない」というような場合、「日別」と「月別」のどちらかかどうかを判断して、処理を分ければ良いことになります。
そこで、複数種類のテンプレートのどれかに該当するかを判断することもできます。
それには、typeアトリビュートにテンプレートの種類を指定する際に、コンマで区切ってテンプレートの種類を並べます。
例えば、以下のようなテンプレートモジュールを作り、それぞれのテンプレートに組み込むと、月別または日別アーカイブテンプレートの場合のみ、前後のアーカイブページへのリンクが出力されます。それ以外のテンプレートでは何も表示されません。
<MTIfTemplateType type="Monthly,Daily"> <MTArchivePrevious> <a href="<$MTArchiveLink$>"><< <$MTArchiveTitle$></a> | </MTArchivePrevious> <a href="<$MTBlogURL$>">Main</a> <MTArchiveNext> | <a href="<$MTArchiveLink$>"><$MTArchiveTitle$> >></a> </MTArchiveNext> </MTIfTemplateType>