ページ 11

1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月24日(火) 11:54
by min-o
-----
ご利用のサーバ:ASP
MODXのバージョン:1.0.14J
PHPのバージョン: 5.5.8
MySQLのバージョン: 5.6.15-log
ブラウザ:firefox 30.0
-----

いつもお世話になっております。
以下のように記述したphx:カスタムモディファイアが
1.0.12J-r1から1.0.14J アップデートで動かなくなってしました。

phx:taghenkan でスニペット作成
if($value == 'あああ') {
return '123';
}
elseif($value == 'いいい' || $value == 'ううう' || $value == 'えええ') {
return '456';
}
else {
return '';
}
[*テンプレート変数:taghenkan*]
で出力されません。

記述法が変わったのでしょうか?

switch文でも試したのですが変わらずです。
switch ($value) {
case 'あああ';
return '123';
case 'いいい':
case 'ううう':
case 'えええ':
return '456';
break;
default:
return '';
break;
}
テンプレート変数がわで
あああ==123 とするのは「あああ」のまま使用したい項目があるので避けたいのです。
よろしくお願いします。

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月24日(火) 13:36
by min-o
カスタムモディファイアは
$value → $output に変更
プラグインのphx2.1.4 を有効にすると動きました。

しかしプラグインphxを有効にするとテンプレートに記述した
[+phx:if=`[*isfolder*]`:is=`0`:then=`[*parent:pagetitle*] `:else=``+]
[+parent:content+]
[+parent:alias+]
などが動かなくなりました…orz

このあたりでエラーになったのでプラグインphxを無効にしていたのですが…。
phx有効の場合のエラー部分の修正は数が多いため避けたいです。

phxカスタムモディファイア以外でも、テンプレート変数の値を変換する方法は何かないでしょうか?

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月24日(火) 14:29
by yama
http://140624142436-29726.evo.demo.modx ... frame=main
上記で試してみたところ動作するようです。(この動作でいいのですよね?)
グローバル設定のOutput Filterの設定がRevolution compatibleになってないでしょうか?

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月24日(火) 15:10
by min-o
yamaさん 返信ありがとうございます。

デモサイト確認しました。
この動きであってます。
$value でプラグインphxなしでうごいてますね…。

グローバル設定のOutput Filterは PHx compatible でした。

インストールしているプラグインは以下です。
----------------
Manager and Admin
Forgot Manager Login(55) 1.2b2 管理画面のログインパスワードを忘れた時に、一時的に無条件ログインできるURLを発行
ManagerManager(52) 0.4 投稿画面を自由自在にカスタマイズ。
phx(20) 2.1.4 (Placeholders Xtended) Adds the capability of output modifiers when using placeholders, template variables and settings tags
Quick Manager+(53) 1.5.5r7 管理画面へのアクセス不要。今開いているページから編集ウィンドウを開きます
TinyMCE Rich Text Editor(60) 3.5.11 Javascript WYSIWYG Editor
管理画面カスタマイズ(41) 1.0.2 ログイン画面・ダッシュボードのカスタマイズコード
Navigation
seo301redirect(45) 0.0.1 Redirects old URL's to the new ones
Search
Search Highlight(26) 1.5 検索結果ページ中のキーワードを分かりやすくハイライト表示 (AjaxSearchが必要)→【無効中】
カテゴリーなし
cachetest(58)→【無効中】
MobileConverter(19) 2.00携帯用テンプ文字コード画像変換→【無効中】
unlock(16) リソース開いたままブラウザ閉じても指定時間でロック解除
サイトパーツ
Cascading Templates(57) 1.02 Cascading Templates→【無効中】

プラグインを一つずつ無効にしてみましたが、すべて無効にしても変わりませんでした。

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月24日(火) 19:33
by piyo-p
横から失礼します。
私も同じようにphx:カスタムモディファイアが動かなくなりました。

1.0.10J→1.0.14J アップデート後、テンプレートで親テンプレートを適用すると、phx:カスタムモディファイアが動かず、
Cascading Templates を有効にして、親テンプレートを使わずこちらを利用するとphx:カスタムモディファイアが動きました。

解決方法の何かの参考になりそうでしょうか。

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月25日(水) 12:02
by min-o
piyo-pさん
返信ありがとうございます。
Cascading Templates を有効にして、親テンプレートを使わずこちらを利用するとphx:カスタムモディファイアが動きました。
やってみたのですが、当方は変わらずです…。

もっと単純なカスタムモディファイアは動いているんです。
$output = str_replace('、', '</li><li>', $output);
return $output;
こういうのとか。

if文やswitch文が問題なのかな…??

テンプレートをいじろうとしたらエラーが出て、yamaさんが設置してくださったデモサイトがプレビュー(管理画面は入れます)できなくなってしまったので
新たにデモサイト作りました。
http://140625113340-29726.evo.demo.modx.jp/1/
※こっちのデモサイトもテンプレート修正しようとするとエラー出て、変更ができませんでした。

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月25日(水) 13:27
by yama
min-o さんが書きました: 新たにデモサイト作りました。
http://140625113340-29726.evo.demo.modx.jp/1/
※こっちのデモサイトもテンプレート修正しようとするとエラー出て、変更ができませんでした。
デモサイトのDBサーバ設定がストリクトモードになっている関係でエラーになっているみたいです。
http://140625113340-29726.evo.demo.modx.jp/manager/
とりあえずテンプレートを更新できるように修正しました。PHxの件についてはあとで確認してみます。

Re: 1.0.14J でphx:カスタムモディファイアが動かなくなった

Posted: 2014年6月25日(水) 15:16
by min-o
yamaさん
ありがとうございます。

デモサイトのテンプレート変更できるようになりました。
入れ子のテンプレートにしてみたのですが、動いてますね…。
http://140625113340-29726.evo.demo.modx.jp/1/