テンプレート変数の入力時のオプションで@EVALが無効になる 【解決済み】
テンプレート変数の入力時のオプションで@EVALが無効になる
-----
ご利用のサーバ:さくらスタンダード
MODXのバージョン:1.0.6J-r8
PHPのバージョン:5.2.17
MySQLのバージョン:MySQL 5.5
ブラウザ:chrome
-----
テンプレート変数で、
Radio Optionを選択し、
入力時のオプションに
@EVAL return $modx->runSnippet("zzzzz");
【スニペット zzzzz】
<?php
$str = "a||b||c";
return $str;
?>
で、リソース入力画面にいくと
◉@Bindings is disabled.
と表示されてしまいます。
デモサイトで同じ事をしてみましたが、
1.0.6J-r8
1.0.6J-r7
は@Bindings is disabled.
と表示されてしまい、
1.0.6J-r6
では、うまくラジオボタンが3つ表示されました。
何か解決方法がありましたら
すみませんがよろしくお願いいたします。
ご利用のサーバ:さくらスタンダード
MODXのバージョン:1.0.6J-r8
PHPのバージョン:5.2.17
MySQLのバージョン:MySQL 5.5
ブラウザ:chrome
-----
テンプレート変数で、
Radio Optionを選択し、
入力時のオプションに
@EVAL return $modx->runSnippet("zzzzz");
【スニペット zzzzz】
<?php
$str = "a||b||c";
return $str;
?>
で、リソース入力画面にいくと
◉@Bindings is disabled.
と表示されてしまいます。
デモサイトで同じ事をしてみましたが、
1.0.6J-r8
1.0.6J-r7
は@Bindings is disabled.
と表示されてしまい、
1.0.6J-r6
では、うまくラジオボタンが3つ表示されました。
何か解決方法がありましたら
すみませんがよろしくお願いいたします。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる 【解決済み】
グローバル設定の「セキュリティ」タブに
「@Bindingsを有効にする」がありますので、
これが「はい」になっているか確認してみてください。
「@Bindingsを有効にする」がありますので、
これが「はい」になっているか確認してみてください。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
http://d.hatena.ne.jp/hikidas_ikeda/
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
kazuike さんが書きました:グローバル設定の「セキュリティ」タブに
「@Bindingsを有効にする」がありますので、
これが「はい」になっているか確認してみてください。
ありがとうございました。
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
「はい」に設定で、ちゃんと表示されました。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
r7から「@Bindingsを有効にする」のデフォルト値が「いいえ」になったので、その影響かも?この設定はリソース投稿画面内の記述に対してのみ有効な設定なので、不具合だと思います。後ほど修正パッチを作りますので、もしよければ検証いただけますでしょうか。
※@Bindingsは便利な機能ですが、スニペットやプラグインの作成権限を持たないメンバーでも投稿画面内で任意のPHP文を記述できてしまうため、機能のオンオフを選べるようにしています。
※@Bindingsは便利な機能ですが、スニペットやプラグインの作成権限を持たないメンバーでも投稿画面内で任意のPHP文を記述できてしまうため、機能のオンオフを選べるようにしています。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
yamaさん
ありがとうございます。よろしくお願いいたします。
ありがとうございます。よろしくお願いいたします。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
パッチを添付しました。解凍するとファイルが2つ出てくるので、これを manager/includes/ ディレクトリに上書きしてください。
「@Bindingsを有効にする」が「いいえ」になっている状態で、ラジオボタンが正しく表示されれば解決と思います。
option(ラジオボタン)以外に、dropdown・listbox・listbox-multipleも同じ原因による不具合があったので、これも修正しました
「@Bindingsを有効にする」が「いいえ」になっている状態で、ラジオボタンが正しく表示されれば解決と思います。
option(ラジオボタン)以外に、dropdown・listbox・listbox-multipleも同じ原因による不具合があったので、これも修正しました
- 添付ファイル
-
tmplvars.inc.zip
- (5.74 KiB) ダウンロード数: 637 回
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
早速つくっていただいて、感謝です〜
「@Bindingsを有効にする」を『いいえ』の状態で、
option・dropdown・listbox・listbox-multiple全て検証させていただき、
無事、問題なく動作しました〜。
本当にありがとうございます。
「@Bindingsを有効にする」を『いいえ』の状態で、
option・dropdown・listbox・listbox-multiple全て検証させていただき、
無事、問題なく動作しました〜。
本当にありがとうございます。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
お世話になります。
「1.0.7J」リリースのドキュメントに、この件を修正したとされていましたが、どうも修正されていないような気がします。
で表示されなかったので、パッチを当ててみると改善できました。
デモサイトでテストしたので、確認できるかと思います。「チェックBOXテスト」というリソースを作っています。
http://121207090343-1945.evo.demo.modx.jp/manager/
「1.0.7J」リリースのドキュメントに、この件を修正したとされていましたが、どうも修正されていないような気がします。
KeyA==@CHUNK 表示AA||KeyB==@CHUNK 表示BBオプション選択型テンプレート変数の入力オプションで@Bindingsコマンドを使えないため修正
http://forum.modx.jp/viewtopic.php?f=7&t=997
で表示されなかったので、パッチを当ててみると改善できました。
デモサイトでテストしたので、確認できるかと思います。「チェックBOXテスト」というリソースを作っています。
http://121207090343-1945.evo.demo.modx.jp/manager/
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
http://121207090343-1945.evo.demo.modx.jp/manager/
デモサイトで修正してみました。よく確認できてないですが、どうでしょう?
「1文字目に@があるかどうか」で判定していましたが、どこでもコマンド文字列があれば認識するようにしました。
デモサイトで修正してみました。よく確認できてないですが、どうでしょう?
「1文字目に@があるかどうか」で判定していましたが、どこでもコマンド文字列があれば認識するようにしました。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
まだ直っていないような気がします…。
念のため、チャンク名も日本語を使わずにテストしてみましたが、まだ表示されないようです。
もしかしてTV入力オプションの記述を間違ってます??
KeyA==@CHUNK AA||KeyB==@CHUNK BB
念のため、チャンク名も日本語を使わずにテストしてみましたが、まだ表示されないようです。
もしかしてTV入力オプションの記述を間違ってます??
KeyA==@CHUNK AA||KeyB==@CHUNK BB
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
パッチで直っているのは、たぶんたまたまですね。一文字目に「@」がないと正しく処理できないはずなので。たぶん条件によっては意図どおりに処理できないこともあると思います。今回の1.0.7Jでは、負荷への考慮や他の要望に対する対応などとの関係で処理の内容を変更しました。(同じ結果が得られるものと思ってましたが)
「入力時のオプション」に入力された値そのものではなく、結果として渡される値に対してコマンド処理を行なうようにすればよさそうですね。それなら、確実に一文字目から「@chunk」になっているはずなので。あとで修正してみます。
「入力時のオプション」に入力された値そのものではなく、結果として渡される値に対してコマンド処理を行なうようにすればよさそうですね。それなら、確実に一文字目から「@chunk」になっているはずなので。あとで修正してみます。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
了解です。よろしくお願いします。
それとチェックボックスでの別件ですが、チェックを入れて保存した項目が、次にリソース編集を開くとチェックが外れています。
気付かないまま保存してしまうと表示されなくなります。
これも今回の修正に関係あるのでしょうか?(これはデモサイトでは、まだ再現できていないのですが…)
表示する==
<div id="banner">
<!--バナー表示表示-->
[*表示-01*]
[*表示-02*]
<!--/ここまでバナー表示-->
</div>
それとチェックボックスでの別件ですが、チェックを入れて保存した項目が、次にリソース編集を開くとチェックが外れています。
気付かないまま保存してしまうと表示されなくなります。
これも今回の修正に関係あるのでしょうか?(これはデモサイトでは、まだ再現できていないのですが…)
自サイトでは、TVオプションに、下記のように設定しています。チェックを入れると表示されるという使い方です。今回の1.0.7Jでは、負荷への考慮や他の要望に対する対応などとの関係で処理の内容を変更しました。
表示する==
<div id="banner">
<!--バナー表示表示-->
[*表示-01*]
[*表示-02*]
<!--/ここまでバナー表示-->
</div>
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
http://121207090343-1945.evo.demo.modx.jp/manager/
修正しました。これでどうでしょう?ドロップダウンタイプのテンプレート変数など、5種類のテンプレート変数に対して修正を加えました。
チェックが記憶されない件はあとで調べてみます。(もしかすると今回の修正で直っているかもしれませんが)
パッチも添付しておきます。解凍してmanager/includes/ディレクトリに上書きです
修正しました。これでどうでしょう?ドロップダウンタイプのテンプレート変数など、5種類のテンプレート変数に対して修正を加えました。
チェックが記憶されない件はあとで調べてみます。(もしかすると今回の修正で直っているかもしれませんが)
パッチも添付しておきます。解凍してmanager/includes/ディレクトリに上書きです
- 添付ファイル
-
tmplvars.inc.zip
- (5.76 KiB) ダウンロード数: 468 回
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
ありがとうございます!
デモサイトにて確認いたしました。
自サイトもOKでした。
ただ、このパッチだと今度は、チェックが記憶すらできなくなります。(チェックボックスが働いていない状態)
1.0.7Jの最初のファイルに戻すと、とりあえず1度は記憶されるので、毎回リソース編集画面を開くたびにチェックを確認するということで、一時的にしのいでいきます。
よろしくお願いします。
デモサイトにて確認いたしました。
自サイトもOKでした。
ただ、このパッチだと今度は、チェックが記憶すらできなくなります。(チェックボックスが働いていない状態)
1.0.7Jの最初のファイルに戻すと、とりあえず1度は記憶されるので、毎回リソース編集画面を開くたびにチェックを確認するということで、一時的にしのいでいきます。
よろしくお願いします。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
なるほど、パースされた値で置き換わってしまうので、このパッチだとダメですね。あくまでも値はコマンド書式のままでストアしておき、ページをレンダリングする段階で値を処理する必要があります。あとで調整してみます
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
http://121207090343-1945.evo.demo.modx.jp/manager/
修正してみました。(というか、仕様変更に近いかな?)
パッチも添付しておきます。manager/includes/に上書きです
修正してみました。(というか、仕様変更に近いかな?)
パッチも添付しておきます。manager/includes/に上書きです
- 添付ファイル
-
tmplvars.inc.zip
- (5.43 KiB) ダウンロード数: 446 回
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
yamaさん、いつもありがとうございます。
さっそくパッチを入れてみました。
が、@Bindingsは問題ないのですが、チェックボックスの値は記憶されない状態のままです。
(一度は記憶されるが、再度、編集画面を開くとチェックが外れている状態)
1.0.6-r8から1.0.7にバージョンアップしただけですが、こちら側の使い方に問題があるのでしょうか?
managermanagerでタブ作成して、TVを移動して使っていますが…これは関係なさそうだし…
こちらでも現象を再現したりと原因を探ってみます。
さっそくパッチを入れてみました。
が、@Bindingsは問題ないのですが、チェックボックスの値は記憶されない状態のままです。
(一度は記憶されるが、再度、編集画面を開くとチェックが外れている状態)
1.0.6-r8から1.0.7にバージョンアップしただけですが、こちら側の使い方に問題があるのでしょうか?
managermanagerでタブ作成して、TVを移動して使っていますが…これは関係なさそうだし…
こちらでも現象を再現したりと原因を探ってみます。
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
いえいえ、2つ、または3つのファイルに特定される問題だと思います。ブラウザやサーバなどの使用環境には関係しないはずなので。
あと少しで解決のところだと思います。
http://121207090343-1945.evo.demo.modx.jp/manager/
こちらのほうは問題なさそうでしょうか?
あと少しで解決のところだと思います。
http://121207090343-1945.evo.demo.modx.jp/manager/
こちらのほうは問題なさそうでしょうか?
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
添付のデバッグ用パッチをmanager/includes/ディレクトリに上書きしてみていただけますでしょうか。
「@CHUNK 表示BB」を選んだ状態だと、上記のように$field_valueに@CHUNK 表示BBがセットされれば正しいです。たぶんこうなってないと思うので、実際にどのような値が入っているかを確認できればと思います。- 添付ファイル
-
tmplvars.inc.zip
- (3.89 KiB) ダウンロード数: 410 回
Re: テンプレート変数の入力時のオプションで@EVALが無効になる
yamaさん
先ほど、パッチをいれてテストしてみました。
いろいろ再現してテストしてみたところ、結果として、自サイトも現在は正常に値が保存されるようになっています。
・XAMPPで、TVやチャンクなど再現してテスト ⇒ 値を正常に取得(パッチあてる前から事象はでなかったのですが…)
・自サイト ⇒ パッチをあてて、値は取得していたようですが、やはりCheckBoxのチェックが外れた状態で今までと同じ。
TV入力オプションの記述を
これ以降は、いろりろ試しましたが同じ事象を再現できませんでした。
現在は、2012/12/07/(金) 22:50 のパッチを入れた状態にしています。
素人考えで恐縮ですが、TVの名前やオプションを変更したとき、リソース編集を開くとチェックが外れた状態になりますよね。
もしかしたら、これが影響しているのではとも考えました。(今回は、名前もオプションも変更していない状態でチェックが外れていましたが)
いろいろとお時間いただきましたが、はっきりとした原因はわからなくとも一応正常に動いているので、しばらく様子をみたいと思います。
今回と似たようなサイト設計をしている1.0.6-r8があるので、1.0.7にバージョンアップしたときに同じ事象がでるかもしれません。
その時は、また報告いたします。
ありがとうございました。
先ほど、パッチをいれてテストしてみました。
いろいろ再現してテストしてみたところ、結果として、自サイトも現在は正常に値が保存されるようになっています。
・XAMPPで、TVやチャンクなど再現してテスト ⇒ 値を正常に取得(パッチあてる前から事象はでなかったのですが…)
・自サイト ⇒ パッチをあてて、値は取得していたようですが、やはりCheckBoxのチェックが外れた状態で今までと同じ。
TV入力オプションの記述を
から表示する==
<div id="banner">
<!--バナー表示表示-->
[*表示-01*]
[*表示-02*]
<!--/ここまでバナー表示-->
</div>
というように、改行を外してみたところ、何故かチェックの状態も正常になりました。表示する==<div id="banner"><!--バナー表示表示-->[*表示-01*][*表示-02*]<!--/ここまでバナー表示--></div>
これ以降は、いろりろ試しましたが同じ事象を再現できませんでした。
現在は、2012/12/07/(金) 22:50 のパッチを入れた状態にしています。
素人考えで恐縮ですが、TVの名前やオプションを変更したとき、リソース編集を開くとチェックが外れた状態になりますよね。
もしかしたら、これが影響しているのではとも考えました。(今回は、名前もオプションも変更していない状態でチェックが外れていましたが)
いろいろとお時間いただきましたが、はっきりとした原因はわからなくとも一応正常に動いているので、しばらく様子をみたいと思います。
今回と似たようなサイト設計をしている1.0.6-r8があるので、1.0.7にバージョンアップしたときに同じ事象がでるかもしれません。
その時は、また報告いたします。
ありがとうございました。