拙著「上手に稼ぐカラ売りテクニック」が発売されました。
株価が下がる局面で利益を得ることができる「空売り」について、詳しく解説した本です。
自由国民社刊で、定価1,512円(税込)です。
カスタムフィールドの規定値に応じて処理を分ける
MTQに、「カスタムフィールドの値が既定値になっている(いない)かどうかで処理を分けたい」といった質問がありました。
この質問に答えてみます。
1.SupplementalCFTagsプラグイン
Movable Typeの標準のテンプレートタグには、カスタムフィールドの規定値を得るタグはありません。
しかし、拙作のSupplementalCFTagsプラグインを使うと、カスタムフィールドの規定値を得ることができます。
プラグインは以下からダウンロードすることができます。
ダウンロードしたZipファイルを解凍すると、「plugins」というフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
2.MTLoadCustomFieldInfoタグとMTCustomFieldDefaultValueタグを使う
SupplementalCFTagsプラグインをインストールすると、いくつかのテンプレートタグが追加されます。
それらの中で、今回の事例を解決するには、「MTLoadCustomFieldInfo」と「MTCustomFieldDefaultValue」というタグを使います。
MTLoadCustomFieldInfoタグは、特定のカスタムフィールドの情報を読み込むテンプレートタグ(ブロックタグ)です。
basenameモディファイアで、カスタムフィールドのモディファイアを指定します。
MTLoadCustomFieldInfoタグのブロックの中では、カスタムフィールドの情報を出力するテンプレートタグを使うことができます。
MTCustomFieldDefaultValueタグを使うと、カスタムフィールドの規定値を出力することができます。
3.テンプレートの組み方の例
例として、以下のような場合を考えてみます。
- ブログ記事にカスタムフィールドを追加しています。
- カスタムフィールドのベースネームは「entry_data」です。
- カスタムフィールドのテンプレートタグは、「MTEntryData」です。
この状態で、このカスタムフィールドに規定値が入力されているかどうかで処理を分けるには、以下のようにテンプレートを組みます。
<mt:LoadCustomFieldInfo basename="entry_data"> <mt:CustomFieldDefaultValue setvar="def_value"$> </mt:LoadCustomFieldInfo> <mt:If tag="EntryData" eq="$def_value"> カスタムフィールドの値が既定値に等しい時の処理 <mt:Else> カスタムフィールドの値が既定値と異なる時の処理 </mt:If>
1~3行目で、カスタムフィールドの規定値を読み込み、変数def_valueに代入します。
そして、4行目のMTIfタグで、カスタムフィールドの値(MTEntryDataタグ)が、既定値(変数def_value)に等しいかどうかを判断して、処理を分けています。