MTSetVarsタグ内で一行に複数個の=(イコール)があった場合はどうなるか
(この記事は最後の一文だけに価値があり、それを改めて認識するための酷い所業が最後の一文を除くものです)
MTSetVarsタグの基本書式は以下のようになります。
<MTSetVars>
takizawa=akira
</MTSetVars>
変数名=値という形で行います。
さて、それでは=が二つあった場合はどうなるのでしょうか。
<MTSetVars>
amakusa=shirou=tokisada
</MTSetVars>
上記でエラーは発生しませんでした。
しかし、変数名がわからない事には変数として役に立ちません。
そこで想定される変数名で試した所、判明しました。
<$MTGetVar name="amakusa=shirou"$>
<$MTGetVar name="amakusa"$>
shirou=tokisada
何の事はなく、変数名はamakusaとして処理されていました。
という訳で、MTSetVarsタグ内で一行に=が複数合っても何か起こるということはないのでご安心下さい。
=を変数名に使う方法
MTSetVarsタグ内で変数名に=を使う事はできませんでした。
しかし、=を変数名に使う方法はあります。
<$MTSetVar name="x=y" value="z"$>
このようにMTSetVarタグ、MTSetVarBlockタグ、MTSetVarTemplateタグ、setvarモディファイアでは使えます。
ただし、=を含む変数は属性内で呼び出す場合の$nameという形では動作しません。
なので=を変数名に含める事はおすすめしません。
やはり変数名は英字、数字、_(アンダースコア)のみの構成が最良だ。
コメント[0]
コメント投稿フォーム
コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。
コメントはまだありません。