2012/10/17: [MODX] 入力オプションをListBoxにしてリソース一覧取得しつつ、未設定も可能にする
長ったらしい表題ですみません・・・。
つまりは、入力タイプをListBoxにして、オプション値を下記のように設定すると、
ID123のドキュメント以下のリソース一覧の中から1つのIDを設定できるようなテンプレート変数が作れますが、
これだと、未設定、つまり何も値が設定されていない状態で保存することができないので、
これを何とかしたいということです。
答えは、オプション値に下記を設定します。
これで、先頭に「0」を値に持つ「なし」という項目が追加できましたので、規定値を「0」にするなどしておくと目的が達成できます。
@EVALを使うとPHPコードが実行できるので、いろいろ柔軟ですね。
つまりは、入力タイプをListBoxにして、オプション値を下記のように設定すると、
ID123のドキュメント以下のリソース一覧の中から1つのIDを設定できるようなテンプレート変数が作れますが、
これだと、未設定、つまり何も値が設定されていない状態で保存することができないので、
これを何とかしたいということです。
@SELECT `pagetitle` AS `name`,`id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 123
答えは、オプション値に下記を設定します。
@EVAL return 'なし==0'.$modx->runSnippet('getResources',array('parents'=>'123','limit'=>'0','tpl'=>'@INLINE ||[[+pagetitle]]==[[+id]]'));
これで、先頭に「0」を値に持つ「なし」という項目が追加できましたので、規定値を「0」にするなどしておくと目的が達成できます。
@EVALを使うとPHPコードが実行できるので、いろいろ柔軟ですね。