ページ 1 / 1
モディファイアを使用した場合に子テンプレートが使用できない
Posted: 2015年4月04日(土) 22:25
by masco
----------------
1.0.14J-r9
php 5.5.19
mysql 5.0.95
apache 2.2
----------------
親テンプレートを適用したときに
親テンプレートを[*content*]であれば問題なく利用できますが、
[*content:モディファイア*]にすると子テンプレートの[*content*]以外の変数が反映されなくなります。
また、管理画面の子テンプレートの編集画面で親テンプレート内容が表示されないようです。
作成テンプレート
親テスト
子テスト
テンプレート「子テスト」を使用
http://150404220911-8775.evo.demo.modx.jp/1.html
管理画面
http://150404220911-8775.evo.demo.modx.jp/manager/
Re: モディファイアを使用した場合に子テンプレートが使用できない
Posted: 2015年4月05日(日) 10:03
by yama
Re: モディファイアを使用した場合に子テンプレートが使用できない
Posted: 2015年4月05日(日) 22:23
by masco
yamaさま
ありがとうございます。
ファイルを上書きしたところ
変数は表示されて機能するようになりましたが、
管理画面側の子テンプレートの編集画面はそのまま変化なしで、
親テンプレートに記入している内容が表示されていません。
(デモサイトで再現できませんでした)
また、今度は[*content*]にモディファイアを使用していない親テンプレートにした場合、
その子テンプレートがうまく機能しませんでした。
(デモサイトで再現できました)
http://150404220911-8775.evo.demo.modx.jp/1.html
管理画面
http://150404220911-8775.evo.demo.modx.jp/manager/
別件でnl2brモディファイアですが、オプションが機能しませんでした。
下記コメントアウトしたら機能しましたので、そのあたりでうまく動かないように思います。
変更前
コード: 全て選択
case 'nl2br':
if($opt!=='')
{
$opt = strtolower($opt);
if($opt==='false') $opt = false;
elseif($opt==0) $opt = false;
else $opt = true;
}
elseif($modx->config['mce_element_format']==='html'){
$opt = false;}
else{ $opt = true;}
$value = nl2br($value,$opt);
break;
case 'nl2br':
if($opt!=='false') $opt = true;
else $opt = false;
$value = nl2br($value, $opt);
break;
変更後
コード: 全て選択
case 'nl2br':
// if($opt!=='')
// {
// $opt = strtolower($opt);
// if($opt==='false') $opt = false;
// elseif($opt==0) $opt = false;
// else $opt = true;
// }
// elseif($modx->config['mce_element_format']==='html'){
// $opt = false;}
// else{ $opt = true;}
// $value = nl2br($value,$opt);
// break;
// case 'nl2br':
if($opt!=='false') $opt = true;
else $opt = false;
$value = nl2br($value, $opt);
break;
Re: モディファイアを使用した場合に子テンプレートが使用できない
Posted: 2015年4月06日(月) 07:46
by yama
編集画面は添付ファイルが間違っていました。修正ぶんと合わせて添付します
Re: モディファイアを使用した場合に子テンプレートが使用できない
Posted: 2015年4月06日(月) 20:55
by masco
yamaさま
ありがとうございます。
問題はすべて解決しました。