1.0.18Jベータです

プログラム(機能)関連の開発の話題
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

yamaさま

ありがとうございます。
確認しました。
アップデート後、Dittoでしか確認していませんがテンプレート変数が表示されなくなりました。
プレースホルダが空になるようです。

[[Ditto?&parents=`7`&tpl=`@CODE:[+テンプレート変数+]`]]
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

こちらで同じように試してみましたが、再現できませんでした。対象リソースに実際に割り当てられているテンプレート変数の値だけを取得するように調整したのですが、そのへんの処理が関係しているかもしれません。
そのへんの処理を元に戻しました。添付ファイルを解凍して assets/snippets/ フォルダに上書きすると元の状態に戻ります。(要キャッシュクリア)
これで特に問題なければ一日寝かせて明日あたり正式リリースしたいと思います
添付ファイル
ditto.zip
(58.2 KiB) ダウンロード数: 4359 回
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

ありがとうございます。

問題は解決しました。
しかし以前報告したモディファイアの問題が復活しました。
チャンクからDittoを読み込むと[+date:date('m/d')+]のようにモディファイアを通した値が表示されません。
チャンクから呼び出さずに直接書けば正常に表示されるので、ひとまずしのぐことはできます。
どうやらチャンクから呼び出したDittoで問題が起きています
内蔵もカスタムもモディファイアだけがだめなようです。
テンプレート変数は正常でした。

[[Ditto?
&parents=7
&depth=3
&display=5
&dateSource=`pub_date`
&orderBy=`pub_date DESC`
&hideFolder=1
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`]]
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

そのへんはさわってないはずですが、変ですね、、バージョンはRC5のままですが、こちらを上書きしてみていただけますでしょうか?
添付ファイル
modx-1.0.18J-rc5.zip
(1.6 MiB) ダウンロード数: 4317 回
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

yamaさま

ありがとうございます。

上書きしましたが、同じ症状のままです。
モディファイアを外せば値は表示されるんですけどね・・・。

すみません、お願いします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

一部のコードを元に戻してみました。もしこれで直る場合、想定外の動作をしている部分があることになりますが・・
http://forum.modx.jp/viewtopic.php?p=9244#p9244
こちらのRC4では問題ないでしょうか?
添付ファイル
modx-1.0.18J-rc6.zip
(1.6 MiB) ダウンロード数: 4465 回
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

yamaさま
RC4とRC6共に症状は改善されませんでした。

別件ですが
以前はログインできたのですが、Ironからフォーラムにログインできなくなっていました。
Firefoxからはログインできます。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

http://forum.modx.jp/viewtopic.php?p=9243#p9243
過去ログをよく確認してみましたが、解決したというのはこちらのRC3でしたね。調べてみます
Ironからログインできない件、後ほど調べてみます
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

調べてみましたが、再現できません。もう少し何かヒントがあるとよいのですが

http://161208105321-31550.evo.demo.modx.jp/manager/
http://161208105321-31550.evo.demo.modx.jp/news/
こちらで同等の状況を作ってみました。不具合が発生する前なので、これは問題なく動作していますが。
チャンク「test」を作成し、リソースID2の中身を編集しました。テスト状況としてはこれで合ってますか?
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

ありがとうございます。
用意していただいたデモでは問題が起きませんでした。
http://161208105321-31550.evo.demo.modx.jp/manager/
http://161208105321-31550.evo.demo.modx.jp/news/

現在RC6でキャッシュを無効にして試しています。
問題が起こるパターンがわかりました。
filterのパラメータで[[$_SERVER(REQUEST_TIME)]]を使用するのと[!Ditto!]が絡むと問題が起きるようです。

作成したテンプレート変数
テンプレート変数名 テスト
入力フォーム DateTime
プロセッサ Unixtime



下記が問題が起きたパターンです。

コード: 全て選択

[[Ditto?
&parents=2
&filter=`テスト,[[$_SERVER(REQUEST_TIME)]],6`
&dateSource=`pub_date`
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`]]

[[Ditto?
&parents=2
&filter=`テスト,[!$_SERVER(REQUEST_TIME)!],6`
&dateSource=`pub_date`
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`]]

[!Ditto?
&parents=2
&filter=`テスト,[[$_SERVER(REQUEST_TIME)]],6`
&dateSource=`pub_date`
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`!]

[!Ditto?
&parents=2
&filter=`テスト,[!$_SERVER(REQUEST_TIME)!],6`
&dateSource=`pub_date`
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`!]

[!Ditto?
&parents=2
&filter=`テスト,1481166013,6`
&dateSource=`pub_date`
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`!]
この場合は正常に機能します。

コード: 全て選択

[[Ditto?
&parents=2
&filter=`テスト,1481166013,6`
&dateSource=`pub_date`
&tpl=`@CODE:<a href="[~[+id+]~]">[+date:date('m/d')+]:[+title+]</a><br>`]]
何か関係ありそうですかね?

よろしくお願いします。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

なるほど、不具合が2つありますね。後ほど修正します
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

修正しました。値がセットされていないプレースホルダーに対して空の値をセットする処理があり、これがモディファイア処理を通じて結果的にプレースホルダー文字列ごと空になってました。
また、[[キャッシュ有効]]の中に[!キャッシュ無効!]をネストさせるのはもともと動作仕様が定まってなかったのですが、キャッシュ無効であることを無視して展開することにしました。
添付ファイル
modx-1.0.18J-rc7.zip
(1.6 MiB) ダウンロード数: 4303 回
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

yamaさま

ありがとうございます。
問題が解決されました。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

IF/ENDIF文のネストとアップデータに不具合があったため修正しました。万が一のことを考えてIF/ENDIF文のネストは10層までに制限しました。
おそらくこれが最終便になると思います
添付ファイル
modx-1.0.18J-rc8.zip
(1.6 MiB) ダウンロード数: 4279 回
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

Dittoのモディファイア処理とアップデータに不具合があったため修正しました。
(先ほど別トピックに添付したものと同じです)
添付ファイル
modx-1.0.18J-rc9.zip
(1.6 MiB) ダウンロード数: 4420 回
noka
メンバー
メンバー
記事: 94
登録日時: 2013年6月19日(水) 10:02

1.0.18Jベータです

投稿記事 by noka »

こんばんは。


環境依存かもしれませんが,
RC7->RC9へのアップデート,
rc9エラー.jpg
ローカル環境へのRC9新規インストール(白紙・apacheログではmemoryが足りないと言われます)
apacheログ.png
のどちらも失敗します。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

https://github.com/modxcms-jp/evolution ... evelop.zip
こちらを試していただいてよいでしょうか?たぶん修正できていると思うのですが・・
ryocka
メンバー
メンバー
記事: 51
登録日時: 2014年4月28日(月) 00:06

1.0.18Jベータです

投稿記事 by ryocka »

おはようございます。
クォートの使い分けは特に意識する必要はないと思います。
万が一のことを考えてIF/ENDIF文のネストは10層までに制限しました。
仕様についてのご説明、ありがとうございました。
クォート無しの挙動が旧ベータ版と異なるようですので念のためにご報告いたしました。
こちらも、解決しました。ご対応ありがとうございました。

Github develop版で動作確認しましたが、Dittoテンプレートで以下のような場合、無条件にTVのプレイスホルダーが非表示になるようです。
(括弧の中の[+tv+]とタグ等を併記する場合も、括弧内が丸ごと表示されません)

コード: 全て選択

[+tv:ifnotempty([+tv+])+]
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

1.0.18Jベータです

投稿記事 by yama »

https://github.com/modxcms-jp/evolution ... evelop.zip
ありがとうございます、修正しました
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

1.0.18Jベータです

投稿記事 by masco »

おそらく不具合です。

関連付けられていないテンプレート変数のタグを入力し
モディファイアを使用しているとそのままの文字列が表示されます。

テンプレート変数はテンプレートに関連付けていません。

下記を記述すると
[*tv:find(`aaaa):then(`aaa/bbb/[*tv*]`):else(`[*tv*]`)*]
下記のように表示されます
[*tv:find(`aaaa):then(`aaa/bbb/[*tv*]`):else(``)*]

それに関連して条件分岐も機能していないようです。

下記のように記述すると
<!--@IF:[*tv*]>
[*tv:find(`aaaa`):then(`aaa/bbb/[*tv*]`):else(`[*tv*]`)*]
<@ELSE>
なし
<@ENDIF-->
下記のように表示されます
[*tv:find(`aaaa):then(`aaa/bbb/[*tv*]`):else(``)*]
関連付けられていないと空の扱いでfalseになると思っています。
テンプレートに当該テンプレート変数を関連付けると正常に動作しますので、
値が空かどうかは関係ないようです。

よろしくお願いいたします。
返信する