1.0.14J-r5でdittoのtpl=@CODE:がうごかない

質問全般・改善要望
返信する
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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>までチャンク)

よろしくお願いいたします。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by yama »

http://forum.modx.jp/viewtopic.php?f=34&t=1470
こちらにアップデートできますでしょうか?r5からならassetsフォルダとmanagerフォルダを上書きするだけでよいと思います
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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を使っている部分など、いろいろ動かない&挙動がおかしい個所もそのままです。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by yama »

http://forum.modx.jp/viewtopic.php?p=7942#p7942
お待たせしました、こちらを試していただいてよいでしょうか? /assets/snippets/ditto/ ディレクトリを上書きしてキャッシュをクリアするだけでよいと思います
ryocka
メンバー
メンバー
記事: 51
登録日時: 2014年4月28日(月) 00:06

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by ryocka »

こんばんは。
プラグイン版のPHxは使っていませんが、もしかするとこちらのトピックに関連する内容かと思いまして投稿します。

1.0.14J-r6-b2にアップデートしたところ、Dittoコールにより展開される部分のモディファイアが効かなくなりました。

具体的には…
・[+content+] で展開するリソースの本文に記述された [*pagetitle:id=`番号`*]
・tplに記述されたプレイスホルダー [+tv:str_replace=`パラメータ`+]
…といった部分が[*pagetitle*]や[+tv+]として表示される挙動です。

1.0.14J-r5のDittoを上書きしてバージョンを戻すと正常に戻りました。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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でも一部おかしな部分が見つかりましたが、そちらは別トピ立てます。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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モディファイアは特殊な仕組みなので、数日お待ちいただけますでしょうか。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by min-o »

すいません。見落としで一部なおっていない部分がありました。

テンプレートに記述した@CODE:はなおったのですが、
リソースのcontent部分にかいた@CODE:で[+id+]の値が入りません。他のリソース変数、tv変数は入っています。

@CODE:<a href="[~[+id+]~]">[+pagetitle+]</a>
のリンクがトップページになってしまいます。

@CODE:[+id+]
だけでも[+id+]の値が表示されません。

よろしくお願いします。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by min-o »

追記です
リソースのcontent部分にかいた@CODE:で[+id+]の値が入りません。
この問題は
phx2.2にすると起こるようです。

phx2.1.4 phx2.1.5 だと問題ありません。ただし他の部分でエラーが出るため2.2使用ですが。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
ryocka
メンバー
メンバー
記事: 51
登録日時: 2014年4月28日(月) 00:06

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by ryocka »

yama さんが書きました:あとこちらですね。str_replaceモディファイアはすぐ修正できますが、idモディファイアは特殊な仕組みなので、数日お待ちいただけますでしょうか。
ありがとうございます、よろしくお願いいたします。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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テンプレート(チャンク)にプレースホルダが含まれていません。上記のテンプレートの内容を確認してください。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by yama »

PHxプラグインを導入せずに内蔵PHxの機能では支障あったでしょうか?
すみませんが、もしよければ現時点で改めて問題点を整理していただけると助かります。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 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の`のみ症状変わらずです。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r5でdittoのtpl=@CODE:がうごかない

投稿記事 by yama »

min-o さんが書きました:に修正したところ、この問題もなおりました。
この件、ちょっと気になります。おそらく ]]> という文字列が引っかかっているのではと思いますが、
https://github.com/modxcms-jp/evolution ... 3635c91f92
ここで修正したはずなので・・
(PHxプラグインが有効の場合は問題が起きる可能性がありますが)

http://forum.modx.jp/viewtopic.php?f=32 ... 7975#p7975
こちらの件は少し難しくて、 ` を区切り文字としてではなく値として含ませることができないため、現在のところこのような実装になっています。よい方法がないか考えてみます。
返信する