ページ 1 / 1
1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年10月24日(金) 18:21
by min-o
-----
ご利用のサーバ:ASP
MODXのバージョン:1.0.14J → 1.0.14J-r5
PHPのバージョン: 5.5.8
MySQLのバージョン: 5.6.15-log
ブラウザ:firefox 32.03
-----
いつもお世話になっております。
1.0.14J → 1.0.14J-r5へアップデートしたところ
dittoのテンプレートを@CODE:で記述した部分が動かなくなりました。
&tpl=`@CODE:<li>[+バナー画像+]</li>`
記述してある部分が
&tpl
指定したDittoテンプレート(チャンク)にプレースホルダが含まれていません。上記のテンプレートの内容を確認してください。
と出力されます。
他にも@CODE:で記述した部分が同じエラーになっています。(全部は確認していませんが)
&tpl=`チャンク名` の方は問題ないです。
プラグインphx(2.1.4)を使用停止にすると、一部の@CODE:記述のみ正常になりました。
phx(2.1.5)にアップデートしてみたのですが、症状変わりません。
phxも一部動かない個所があるようです。(2.1.4.、2.1.5とも)
htmlのheda内に読み込むjavascript(チャンク)を、phxでリソースIDで振り分けているのですが、その部分のphx内のチャンクが展開されて
[+phx:if=`828`:is=`828`:then=`<script type="text/javascript">
javascriptずらずら~~~~
</script>`+]
と出力されています。(<script ~</script>までチャンク)
よろしくお願いいたします。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年10月29日(水) 20:42
by yama
http://forum.modx.jp/viewtopic.php?f=34&t=1470
こちらにアップデートできますでしょうか?r5からならassetsフォルダとmanagerフォルダを上書きするだけでよいと思います
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年10月30日(木) 11:18
by min-o
yamaさん
返信ありがとうございます。
1.0.14J-r6ベータ にアプデしてみましたが
症状変わらないです。
1.0.14J-r5
1.0.14J-r6ベータ
ともにエラーになって表示されないページのイベントログは以下です。
手掛かりになりますでしょうか?
(tpl=@CODE:がうごかないページとは別です)
エラー
イベントID 10
ソース Parser
日付 2014/10/30 11:20:50
« MODX Parse Error »
MODX encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »
PHP error debug
Error : mktime() expects parameter 6 to be long, string given
ErrorType[num] :
[2]
File :
/home/*********/html/assets/plugins/phx/phx.parser.class.inc.php(467) : eval()'d code
Line :
12
Basic info
REQUEST_URI : /hogehoge/
Resource :
[4546]ページタイトルほげほげ
Referer :
http://test.*******/manager/index.php?a=115&id=3
User Agent :
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
IP :
61.45.201.25
Benchmarks
MySQL :
0.0726 s (436 Requests)
PHP :
1.6116 s
Total :
1.6842 s
Memory :
13.98 MB
Backtrace
1 DocumentParser->executeParser()
index.php on line 155
2 DocumentParser->prepareResponse()
manager/includes/document.parser.class.inc.php on line 380
3 DocumentParser->parseDocumentSource()
manager/includes/document.parser.class.inc.php on line 471
4 DocumentParser->invokeEvent()
manager/includes/document.parser.class.inc.php on line 2037
5 DocumentParser->evalPlugin()
manager/includes/document.parser.class.inc.php on line 3033
6 eval()
manager/includes/document.parser.class.inc.php on line 1565
7 PHxParser->OnParseDocument()
manager/includes/document.parser.class.inc.php(1565) : eval()'d code on line 24
8 PHxParser->Parse()
assets/plugins/phx/phx.parser.class.inc.php on line 47
9 PHxParser->ParseValues()
assets/plugins/phx/phx.parser.class.inc.php on line 65
10 PHxParser->ParseValues()
assets/plugins/phx/phx.parser.class.inc.php on line 212
11 PHxParser->ParseValues()
assets/plugins/phx/phx.parser.class.inc.php on line 212
12 PHxParser->Filter()
assets/plugins/phx/phx.parser.class.inc.php on line 196
13 eval()
assets/plugins/phx/phx.parser.class.inc.php on line 467
14 mktime()
assets/plugins/phx/phx.parser.class.inc.php(467) : eval()'d code on line 12
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年10月30日(木) 18:15
by min-o
phx2.2
http://modx.com/extras/package/phx を
こちらでダウンロードして入れてみました。
結果dittoの@CODE:部分は変わらず
htmlのheda内に読み込むjavascript(チャンク)を、phxでリソースIDで振り分けているのですが、その部分のphx内のチャンクが展開されて
[+phx:if=`828`:is=`828`:then=`<script type="text/javascript">
javascriptずらずら~~~~
</script>`+]
と出力されています。(<script ~</script>までチャンク)
この部分はなおりました。
しかしエラーの出るページはBacktraceも同じです。
他にもdittoのテンプレート内でphxを使っている部分など、いろいろ動かない&挙動がおかしい個所もそのままです。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月01日(土) 16:51
by yama
http://forum.modx.jp/viewtopic.php?p=7942#p7942
お待たせしました、こちらを試していただいてよいでしょうか? /assets/snippets/ditto/ ディレクトリを上書きしてキャッシュをクリアするだけでよいと思います
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月03日(月) 03:28
by ryocka
こんばんは。
プラグイン版のPHxは使っていませんが、もしかするとこちらのトピックに関連する内容かと思いまして投稿します。
1.0.14J-r6-b2にアップデートしたところ、Dittoコールにより展開される部分のモディファイアが効かなくなりました。
具体的には…
・[+content+] で展開するリソースの本文に記述された [*pagetitle:id=`番号`*]
・tplに記述されたプレイスホルダー [+tv:str_replace=`パラメータ`+]
…といった部分が[*pagetitle*]や[+tv+]として表示される挙動です。
1.0.14J-r5のDittoを上書きしてバージョンを戻すと正常に戻りました。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月04日(火) 11:31
by min-o
yamaさん 返信ありがとうございます。
modx-1.0.14J-r6-b2のdittoに上書きで@CODE動くようになりました。
また挙動がおかしかった部分もなおりました。
ありがとうございます!
dittoテンプレートでこれまで以下のように書いていた部分が表示されなかったのですが
[+発売予定テキスト:ne:then=`[+発売予定テキスト+]`:else=`[+date+]発売`+]
[+発売予定テキスト:ifempty=`[+date+]発売`+]
と直したらうまくいきました。
こちらの方がシンプルでいいですがmodx 1.0.14J phx 2.1.4だと動きませんでした。
Wayfinderでも一部おかしな部分が見つかりましたが、そちらは別トピ立てます。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月04日(火) 11:38
by yama
ryocka さんが書きました:1.0.14J-r6-b2にアップデートしたところ、Dittoコールにより展開される部分のモディファイアが効かなくなりました。
具体的には…
・[+content+] で展開するリソースの本文に記述された [*pagetitle:id=`番号`*]
・tplに記述されたプレイスホルダー [+tv:str_replace=`パラメータ`+]
…といった部分が[*pagetitle*]や[+tv+]として表示される挙動です。
1.0.14J-r5のDittoを上書きしてバージョンを戻すと正常に戻りました。
あとこちらですね。str_replaceモディファイアはすぐ修正できますが、idモディファイアは特殊な仕組みなので、数日お待ちいただけますでしょうか。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月04日(火) 12:42
by min-o
すいません。見落としで一部なおっていない部分がありました。
テンプレートに記述した@CODE:はなおったのですが、
リソースのcontent部分にかいた@CODE:で[+id+]の値が入りません。他のリソース変数、tv変数は入っています。
@CODE:<a href="[~[+id+]~]">[+pagetitle+]</a>
のリンクがトップページになってしまいます。
@CODE:[+id+]
だけでも[+id+]の値が表示されません。
よろしくお願いします。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月04日(火) 17:42
by min-o
追記です
リソースのcontent部分にかいた@CODE:で[+id+]の値が入りません。
この問題は
phx2.2にすると起こるようです。
phx2.1.4 phx2.1.5 だと問題ありません。ただし他の部分でエラーが出るため2.2使用ですが。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月05日(水) 21:52
by ryocka
yama さんが書きました:あとこちらですね。str_replaceモディファイアはすぐ修正できますが、idモディファイアは特殊な仕組みなので、数日お待ちいただけますでしょうか。
ありがとうございます、よろしくお願いいたします。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月18日(火) 15:52
by min-o
http://forum.modx.jp/viewtopic.php?f=34 ... 7965#p7965
から
modx-1.0.14J-r6-b3.zip をダウンロードしてアップデートしてみましたが
テンプレートに記述した@CODE:はなおったのですが、
リソースのcontent部分にかいた@CODE:で[+id+]の値が入りません。他のリソース変数、tv変数は入っています。
この件は症状同じです。
@CODE:[+pagetitle+]とかは問題ないのですが@CODE:[+id+]にすると以下のエラーが表示されます。
&tpll
指定したDittoテンプレート(チャンク)にプレースホルダが含まれていません。上記のテンプレートの内容を確認してください。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月19日(水) 16:39
by yama
PHxプラグインを導入せずに内蔵PHxの機能では支障あったでしょうか?
すみませんが、もしよければ現時点で改めて問題点を整理していただけると助かります。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月19日(水) 17:31
by min-o
phx2.2.0 を使用停止にしてみたところ
1.リソースのcontent部分に tpl=@CODE:[+id+] は正常に出力
2.
http://forum.modx.jp/viewtopic.php?f=32 ... 7977#p7977 のtopicpathの不具合も治りました
テンプレートに
[+phx:if=`[*id*]`:is=`828`:then=`{{index用head-javascript}}`:else=`{{その他用head-javascript}}`+]
としていた部分が最初の症状(以下の引用の症状)にもどってしまいましたが、これも修正できました。
htmlのheda内に読み込むjavascript(チャンク)を、phxでリソースIDで振り分けているのですが、その部分のphx内のチャンクが展開されて
[+phx:if=`828`:is=`828`:then=`<script type="text/javascript">
javascriptずらずら~~~~
</script>`+]
と出力されています。(<script ~</script>までチャンク)
それぞれのチャンクを確認して
<script type="text/javascript">
//<![CDATA[
$(function() {
略
});
//]]>
</script>
↓↓↓↓
<script type="text/javascript">
$(function() {
略
});
</script>
に修正したところ、この問題もなおりました。
こちらの
http://forum.modx.jp/viewtopic.php?f=32 ... 7975#p7975
Wayfinderの`のみ症状変わらずです。
Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない
Posted: 2014年11月19日(水) 22:11
by yama
min-o さんが書きました:に修正したところ、この問題もなおりました。
この件、ちょっと気になります。おそらく
]]> という文字列が引っかかっているのではと思いますが、
https://github.com/modxcms-jp/evolution ... 3635c91f92
ここで修正したはずなので・・
(PHxプラグインが有効の場合は問題が起きる可能性がありますが)
http://forum.modx.jp/viewtopic.php?f=32 ... 7975#p7975
こちらの件は少し難しくて、
` を区切り文字としてではなく値として含ませることができないため、現在のところこのような実装になっています。よい方法がないか考えてみます。