変数名@リソースIDの記述で出力できる値について  【解決済み】

質問全般・改善要望
返信する
aki
メンバー
メンバー
記事: 56
登録日時: 2013年1月23日(水) 20:59

変数名@リソースIDの記述で出力できる値について

投稿記事 by aki »

いつもお世話になっております。

http://modx.jp/docs/extras/snippets/getfield.html
こちらのページで紹介されている[*変数名@リソースID*]の書き方で、
任意のリソースにある変数の値を出力できるとのことなのですが、
出力できる変数は、デフォルトのリソース変数のみでしょうか?

別のリソースにあるテンプレート変数を出力したかったのですが出せなかったので
(pagetitleなどのリソース変数は出力できました)
この場合は、従来通りGetField等のスニペットを利用するしかないでしょうか?

使用バージョンは、「1.0.14J-r9」です。
よろしくお願いいたします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 変数名@リソースIDの記述で出力できる値について

投稿記事 by yama »

http://150813151626-12434.evo.demo.modx.jp/
http://150813151626-12434.evo.demo.modx.jp/manager/ ユーザ名・パスワード modx / modx
こちらで試してみましたが動作するようです。何か他に関係ありそうな情報はありますか?
aki
メンバー
メンバー
記事: 56
登録日時: 2013年1月23日(水) 20:59

Re: 変数名@リソースIDの記述で出力できる値について

投稿記事 by aki »

yamaさん、いつもありがとうございます。

原因がわかりました。
変数を置いているリソースのステータスが非公開になっていると出力できなかったようで、
公開にしたら出力できました。
pagetitleなどのデフォルトの変数は非公開でも出力されていたので、確認が足りていませんでした。
お手数をおかけしてすみません。

ちなみになのですが、非公開のままでもテンプレート変数を出力できるような方法はないでしょうか?

サイト内で使い回す情報&誰でも更新できる情報をテンプレート変数にして、1つのリソースに固め、
管理画面内でしか使わない更新用フォームとして利用しているので、
Webページとしては非公開のステータスのままでも変数を取得できると嬉しいです。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 変数名@リソースIDの記述で出力できる値について

投稿記事 by yama »

https://github.com/modxcms-jp/evolution ... c5dd06ec99
manager/includes/document.parser.class.inc.php をテキストエディタで開いて、上記のように書き換えてみてください。
$tvs= $this->getTemplateVarOutput($field, $docid)という記述を探して、3番目の引数「null」を加えます。(0と1以外の数字でもいいですが)
特に問題なければ正式な修正として積み込みます。
aki
メンバー
メンバー
記事: 56
登録日時: 2013年1月23日(水) 20:59

Re: 変数名@リソースIDの記述で出力できる値について  【解決済み】

投稿記事 by aki »

nullを付け加えてアップロードしたところ、ステータス非公開のままでも
テンプレート変数が出力できるようになりました。
yamaさん、ありがとうございました!
返信する