1.0.14J-r9ベータです

プログラム(機能)関連の開発の話題
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r9ベータです

投稿記事 by min-o »

yamaさま
遅くなりました。includesフォルダ上書きして確認しました。

diitoが途切れるページは
phx parse over
のみで表示されません
イベントログ
イベントID 31532
ソース Ditto debug
日付 2015/03/04 10:04:47

Array
(
[0] => id
[1] => pagetitle
)
から項目いろいろで
イベントログ97ページ分全部同じ時間のログで埋まっています。
最後のログ
イベントID 29601
ソース Ditto debug
日付 2015/03/04 10:04:47

Array
(
[0] => date
[1] => date:newly
[2] => id
[3] => id
[4] => pagetitle
[5] => 型番
[6] => コード更新日
[7] => date
[8] => date:newly
[9] => コード更新日:date=`%Y.%m.%d`
[10] => コード更新日:newly7
[11] => 未来百貨ページ
[12] => シンプルモード:is=`シンプルモード`:then=`○
[ date ][ date:newly ]
`:else=`-`
[13] => wificode:li
[14] => SE注釈
[15] => アドバンスモード:is=`アドバンスモード`:then=`○`:else=`-`
[16] => セーブデータバックアップ:is=`セーブデータバックアップ`:then=`○`:else=`-`
)

diitoのdocumentsにditto入れ子ページ
エラーのままです
イベントログ
イベントID 32530
ソース MODxMailer debug information
日付 2015/03/04 10:13:06

CharSet = ISO-2022-JP
Encoding = 7bit
mb_language = Japanese
encode_header_method = mb_encode_mimeheader
send_mode = mb
Subject = Error mail from =?ISO-2022-JP?B?GyRCJTUlJCVQITwlLCU4JSclQyVIGyhC?=

Date: Wed, 4 Mar 2015 10:13:06 0900
Return-Path:
From: =?ISO-2022-JP?B?GyRCJTUlJCVQITwlLCU4JSclQyVIGyhC?=
Message-ID:
X-Priority: 3
X-Mailer: PHPMailer (https://github.com/PHPMailer/PHPMailer/)
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=ISO-2022-JP

[URL] http://test02.****.co.jp/productslist/new3ds/new3dsll/6086/6087.html
[Source] Snippet - Ditto
[IP] 61.45.201.25
[Host name] 61-45-201-25.cust.bit-drive.ne.jp
[Snippet] Ditto
 エラーログ
エラー
イベントID 32529
ソース Snippet - Ditto
日付 2015/03/04 10:13:06
« MODX Parse Error »
MODX encountered the following error while attempting to parse the requested resource:
« Execution of a query to the database failed - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[[Ditto? &id=) AND sc.published=1 AND sc.deleted=0 AND (sc.privateweb=0) G' at line 3 »
SELECT DISTINCT sc.id,sc.published,sc.pub_date,sc.createdon FROM `****_modx01`.`modx_site_content` sc LEFT JOIN `****_modx01`.`modx_document_groups` dg on dg.document = sc.id WHERE sc.id IN ([[Ditto? &id=) AND sc.published=1 AND sc.deleted=0 AND (sc.privateweb=0) GROUP BY sc.id
Basic info
REQUEST_URI : /productslist/new3ds/new3dsll/6086/6087.html
Resource : [6087]保護フィルム
Current Snippet : Ditto
Referer : http://test02.****.co.jp/productslist/new3ds/
User Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0
IP : 61.45.201.25
Benchmarks
MySQL : 0.2206 s (192 Requests)
PHP : 0.2574 s
Total : 0.4780 s
Memory : 11.47 MB

Backtrace
1 $modx->executeParser()
index.php on line 159
2 $modx->prepareResponse()
manager/includes/document.parser.class.inc.php on line 387
3 $modx->parseDocumentSource()
manager/includes/document.parser.class.inc.php on line 484
4 $modx->evalSnippets()
manager/includes/document.parser.class.inc.php on line 2095
5 $modx->_get_snip_result()
manager/includes/document.parser.class.inc.php on line 1663
6 $modx->evalSnippet()
manager/includes/document.parser.class.inc.php on line 1706
7 eval()
manager/includes/document.parser.class.inc.php on line 1625
8 require()
manager/includes/document.parser.class.inc.php(1625) : eval()'d code on line 3
9 ditto->determineIDs()
assets/snippets/ditto/snippet.ditto.php on line 872
10 ditto->getDocuments()
assets/snippets/ditto/classes/ditto.class.inc.php on line 588
11 DBAPI->query()
assets/snippets/ditto/classes/ditto.class.inc.php on line 904
その次のイベントログ5ページ分くらい続いています。
イベントID 32528
ソース Ditto debug
日付 2015/03/04 10:13:06

Array
(
[0] => left
[1] => right
)
同じページの最後のイベントログです。
イベントID 32425
ソース Ditto debug
日付 2015/03/04 10:13:06

Array
(
[0] => pagetitle
)
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

min-o さんが書きました:diitoが途切れるページは
phx parse over
のみで表示されません
この部分ヒントになりそうです。モディファイア文字列の長さが65KBに達した時に表示されるエラーなので、普通はあり得ないはずなんですが。この部分の情報を取得できるように調整してみます。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

modx-1.0.14J-r9-b23.zip
(1.64 MiB) ダウンロード数: 605 回
b23です。該当部分の処理をb18同等の状態に戻しています。
「PHx _delimRoop debug」というタイトルのログを残すようにしました。モディファイア文字列として誤って認識されてしまった65KB近い内容のテキストがここに入ります。
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: 1.0.14J-r9ベータです

投稿記事 by soushi »

デモサイトに MODX 1.0.14J-r9-b23 のパッケージを用意しました。
ご自由にお試しくださいー 8-)

http://mng.demo.modx.jp/pack_list/Evolu ... 9-b23.html
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r9ベータです

投稿記事 by min-o »

b23アップデートしました。

dittoが途切れるphx parse over ページのPHx _delimRoop debugです。
データベースの値からコピペして、添付ファイルにしました。
log.zip
(6.86 KiB) ダウンロード数: 0 回
リソースの本文の内容、インラインで書いたものとdittoで出力されたタグ付きソースが、dittoで途切れる部分まで丸丸入っているようです。

dittoの&documents=に入れ子ページは問題なく表示されています。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

ありがとうございます、データ確認しました。
1文字目が「 ` 」で始まってますね。ここに関係する不具合があるみたいです。後ほど調べてみます。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

modx-1.0.14J-r9-b24.zip
(1.64 MiB) ダウンロード数: 585 回
ベータ24です。
[*変数:is=あいうえお:then=1*]
上記のように、区切り文字列を使わずにフィルタ処理を記述した場合に最後のthenモディファイアが正しく処理されないため修正しました。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r9ベータです

投稿記事 by min-o »

b24アップデートしました。
問題ないです! ありがとうございます。

yamaさまとやり取りして
リソース数が多い場合にdittoが表示されなくなる件はphxの書き方に問題があったとわかりました。

テンプレートに

コード: 全て選択

[*isfolder:is=`1`:then=``:else=`<ul class="gojuon">
[[Ditto? &id=`List50on` &parents=`[*parent:id*]` &sortBy=`menuindex` &sortDir=`ASC` &tpl=`tpl_List50on` &showPublishedOnly=`1`]]
</ul>`*]

[*isfolder:is=`1`:then=`[*content*]`:else=`<h3>[*pagetitle*]</h3>
<div class="list">
[*content*]
</div>`*]
としていたのが問題でした。phx内に[*content*]が2回で2度展開、しかも、リソースのcontent中にdittoを記述していたため、
ditto表示に問題が出ましたが、根本はphxのほうでした。
今まで動いていたのは運が良かったようです。
確認したところ、このテンプレートはフォルダのリソースしか使っていなかったので、フォルダ判定のphxを外したら、表示されるようになりました。スピードも速いです。

フォルダ判定が必要な場合用にyamaさまからいただいた記述です。

コード: 全て選択

<!--@IF:[*isfolder*]-->
    <ul class="gojuon">
        [[Ditto? &id=`List50on` &parents=`[*parent:id*]` &sortBy=`menuindex` &sortDir=`ASC` &showPublishedOnly=`1`]]
    </ul>
    [*content*]
<!--@ELSE-->
    <h3>[*pagetitle*]</h3>
    <div class="list">
        [*content*]
    </div>
<!--@ENDIF-->
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

IF文の仕様変更を検討しています。

コード: 全て選択

<!--@IF:[*isfolder*]-->
    フォルダです。サブリソースがあります。
<!--@ELSE-->
    フォルダではありません。
<!--@ENDIF-->
現在はこのように記述します。

コード: 全て選択

<!--@IF:[*isfolder*]>
    フォルダです。サブリソースがあります。
<!@ELSE>
    フォルダではありません。
<!@ENDIF-->
新しい記法です。
MODXのIF文ブロック全体をコメント扱いとすることで、MODXのテンプレートをHTMLファイルとして作成した場合、これをローカルでダブルクリックして開き、イメージどおりに表示することができます。
https://www.google.co.jp/search?q=IE+%E ... 3%E3%83%88
IEの条件付きコメントを参考にしています。
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: 1.0.14J-r9ベータです

投稿記事 by soushi »

デモサイトに MODX 1.0.14J-r9-b24 のパッケージを用意しました。
ご自由にお試しくださいー :)

http://mng.demo.modx.jp/pack_list/Evolu ... 9-b24.html
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

modx-1.0.14J-r9-b25.zip
(1.64 MiB) ダウンロード数: 729 回
ベータ25です。値が空の場合の内蔵PHx機能の処理を調整しました。if文などでPHxを活用している人は確認をお願いします。
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r9ベータです

投稿記事 by min-o »

b25アップデートしました。
問題ないです。ありがとうございます! :D

アップデートについて相談です。
テストサイトは1.0.14J → r7 → r9 へ
r9からはこまめに更新していったのですが、本番はいまだ1.0.14Jです。

本番をアップデートする際、いきなりr9のフィックス版へアップデートしてしまって大丈夫でしょうか?

テストサイトを1.0.14J → r7、→ r9にアップデートした時に、それぞれ一時的にデータベースが非常に遅くなったので、本番のアップデートを中止して1.0.14Jのままで運用していました。
この時の原因はわかりませんが、データベース再起動で直りました。その後再現していません。

今回のr9アップデートで、ひっかかったphxなど(phx内に[*content*]が2回で2度展開など)はテストの修正にあわせて、すべて本番サイトも修正してあります。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

基本的には最新でアップデートしていただいたほうがよいと思います。何か問題が発生した場合は、今回のようなケースなら、順番にr8・r7・r6と逆戻ししていくほうが問題の切り分けがしやすいかもしれませんが、できるだけ問題部分を直接修正します。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

modx-1.0.14J-r9-rc3.zip
(1.64 MiB) ダウンロード数: 723 回
ようやく戻ってきました。RC3です。特に問題なければこれを正式リリースとします。
OnWebPagePrerenderイベントで追加されたMODXタグを処理できるようにしました。
内蔵PHxフィルターにおいて、判定モディファイアのみを記述した場合に1または0を判定結果として返すようにしました。

コード: 全て選択

<!--@IF:[*pagetitle:find(New)*]>
<h2>[新着] [*pagetitle*]</h2>
<!@ELSE>
<h2>[*pagetitle*]</h2>
<!@ENDIF-->
たとえばこのような記述が可能です。この場合はpagetitleに「New」という文字列が含まれる場合に「1」を返すので、「正」と判定されます。

http://www.movabletype.jp/documentation ... modifiers/
その他、MovableTypeのモディファイアをいくつか採用しました。
masco
メンバー
メンバー
記事: 143
登録日時: 2014年9月26日(金) 10:43

Re: 1.0.14J-r9ベータです

投稿記事 by masco »

rc3にしました。

内蔵モディファイアの「show」と「this」が使用できません。

phx.parser.class.inc.phpの該当箇所(226から230行目くらい)の最後にbreak;を追加したら機能しました。

コード: 全て選択

			case 'show':
			case 'this':
				$conditional = implode(' ',$condition);
				$isvalid = intval(eval("return ({$conditional});"));
				if (!$isvalid) { $value = NULL;}

コード: 全て選択

			case 'show':
			case 'this':
				$conditional = implode(' ',$condition);
				$isvalid = intval(eval("return ({$conditional});"));
				if (!$isvalid) { $value = NULL;}
        break;
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: 1.0.14J-r9ベータです

投稿記事 by min-o »

b25からrc3アップデート、問題ありません。

本番は最新でアップデートすることにします。
ありがとうございます。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

masco さんが書きました:内蔵モディファイアの「show」と「this」が使用できません。
ありがとうございます、修正しました。
modx-1.0.14J-r9-rc4.zip
(1.64 MiB) ダウンロード数: 720 回
PHx機能を任意の文字列に対して直接適用できるようにしました。

コード: 全て選択

[+@test:strtoupper+]
→ 「TEST」を表示します。

コード: 全て選択

[+@2:username+]
→ ユーザID2のユーザのログイン名を表示します。

コード: 全て選択

[+@2:lastlogin:dateformat(Y年m月d日 h時m分s秒):hanzen+]
→ ユーザID2のユーザの直近のログイン日時を全角文字で表示します。

コード: 全て選択

[+@test@example.com:spam_protect+]
→ メールアドレス文字列「test@example.com」をスパムボットに拾われにくい文字列形式に変換して表示します。

コード: 全て選択

[+@abcdefghijklmnopqrstuvwxyz:shuffle:limit(8)+]
→ パスワード候補などに使えるランダム文字列を表示します。

コード: 全て選択

[+@あいうえお<br />
かきくけこ<br />
さしすせそ:encode_html+]
→ 複数行記述可

デリミタ文字列[+@・+]はとりあえずの実装として、将来変更する可能性があります。
noka
メンバー
メンバー
記事: 94
登録日時: 2013年6月19日(水) 10:02

Re: 1.0.14J-r9ベータです

投稿記事 by noka »

とりいそぎご報告させていただきます。
すべてのリソース変数を試したわけではないですが、
少なくとも[*description*]については、idモディファイアがおかしな挙動をします。b24までは大丈夫です。

◯1.[*pagetitle:8*]
×2.[*description:8*]
◯3.[*description@8*]
×4.[*description:id=8*]
×5.[*description:id=`8`*]
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: 1.0.14J-r9ベータです

投稿記事 by yama »

なるほど、isEmpty関数の処理対象にidモディファイアを追加する必要がありますね。後ほど修正します
noka
メンバー
メンバー
記事: 94
登録日時: 2013年6月19日(水) 10:02

Re: 1.0.14J-r9ベータです

投稿記事 by noka »

もう一点、追加でご報告させていだきます。
<!--@IF:[*hoge*]-->
による条件分岐が効かなくなっているように見受けられます(そのままパースされている感じです)。
http://forum.modx.jp/viewtopic.php?f=34 ... =130#p8327
の記法も同様です。

例えば、Dittoテンプレ内で、

コード: 全て選択

<!--@IF:[+hidemenu+]-->
<figure><img src="[+tv_img+]"></figure>
<!--@ELSE-->
<figure><a href="[~[+id+]~]"><img src="[+tv_img+]"></a></figure>
<!--@ENDIF-->
としていたものは、
ブラウザでソースを確認すると、

コード: 全て選択

<!--@IF:0-->
<figure><img src="hoge"></figure>
<!--@ELSE-->
<figure><a href="hogehoge"><img  src="hoge"></a></figure>
<!--@ENDIF-->
のようになります。

とりいそぎ。
返信する