Edited at

カスタムフィールドに改行を入れ、変数に代入して再構築するとMTSetVarsでエラー

More than 5 years have passed since last update.

MTで記事作成中に突然記事作成できなくなって困った。


エラー内容

日々のweb業務記録-prostaff-: 100613 の方と似ていて、

記事「XXX」の再構築中にエラーが発生しました: 

テンプレート「記事」の再構築中にエラーが発生しました:
<mtinclude>タグでエラーがありました:
モジュール「YYY」でエラーが発生しました:
テンプレート「YYY」の再構築中にエラーが発生しました:
<mtsetVars>タグでエラーがありました: Invalid variable assignment: ZZZ


原因

問題のコードは


code

<mt:setVars>

desc=<mt:EntryExcerpt>
</mt:setVars>

元々用意されている 概要のカスタムフィールドに改行を入れて、その変数をテンプレートに引用したときに、改行後の文字列が変数とみなされて「Invalid variable assignment」エラーとなっていたようだった。


対応方法

改行自体をなくしたい場合は下記


code

<mt:setVars>

desc=<mt:EntryExcerpt strip_linefeeds='1'>
</mt:setVars>

改行は残しておきたい場合は下記


code

<mt:setVarBlock name='desc'><mt:EntryExcerpt></mt:setVarBlock>


で解決できる。


参考