モディファイア ifemptyについて  【解決済み】

質問全般・改善要望
返信する
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

モディファイア ifemptyについて

投稿記事 by mojira »

いつもお世話になります。
1.0.17J から1.0.19Jにバージョンアップしたのですが、
Diitoのチャンク内にてリンク先のURLを判定する為に入れた以下のモディファイアが動かないようです。

コード: 全て選択

<li>[+info_url:ifempty(<a href="[~[+id+]~]">):else(<a href="[+info_url+]">)+][+longtitle+]</a></li>
ifempty(<a href="[~[+id+]~]">)をシングルクオートやダブルクオートで
例>ifempty('<a href="[~[+id+]~]">')
例>ifempty("<a href="[~[+id+]~]">")
で囲んでもダメでした。
以前のバージョンでは動いていたのですが、記述方法が間違っている場合や
変更されている場合にはご教授頂ければ幸いです。

また同じ内容ですが以下のコードでは正常に動作しております。

コード: 全て選択

<!--@IF:![+info_url+]>
<li><a href="[~[+id+]~]">[+longtitle+]</a></li>
<@ELSE>
<li><a href="[+info_url+]">[+longtitle+]</a></li>
<@ENDIF-->

どうぞ宜しくお願い申し上げます。


/*********使用環境**************/
ご利用のサーバ:SIXCORE
MODXバージョン:1.0.19J
PHPのバージョン:5.6.22
MySQLのバージョン:5.5.45
ブラウザ:chrome
/*****************************/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

モディファイア ifemptyについて  【解決済み】

投稿記事 by yama »

https://docs.modx.com/revolution/2.x/ma ... modifiers)
ifemptyモディファイアは判定系モディファイアとしては少し特殊で、値を直接指定してすっきり書くために用います。つまり他の判定系モディファイアと違ってthen-else節が不要ですし、もしthen-else節を書いても無視されます。もともとそういう仕様なので、以前のバージョンで動作していたとしたら、そのほうがイレギュラーということになります。本来の仕様に戻した経緯はよく覚えてないですが、何か他に問題があったように思います。
then-else節が必要な場合は、名前がよく似ていますがisEmptyモディファイア(大文字小文字はどちらでもいいです)を使ってみてください。
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

モディファイア ifemptyについて

投稿記事 by mojira »

yamaさん いつもありがとうございます。
ifemptyモディファイアは判定系モディファイアとしては少し特殊で~
なるほど、そのような経緯があったのですね。
isEmptyモディファイアの件も、教えて頂きありがとうございました。大変助かりました。
返信する