ページ 11

cfFileViewとMODXの仕様  【解決済み】

Posted: 2014年5月17日(土) 15:01
by kazuike
-----
MODXのバージョン: 1.0.12J-r1
-----
cfFormMailerで、
ファイルを添付して送信する際、確認画面で使用するプラグイン「cfFileView」について。

確認画面で

コード: 全て選択

<img src="cfFileView?field=photo" alt="" width="100" />
のようにして埋め込み、
システムイベント「OnPageNotFound」で起動しますが、
ページアドレスが「cfFileView」かどうかを、
「$modx->documentIdentifier」によって判定していて、
この値が空のため正常に機能しないようです。

「$modx->documentIdentifier」の代わりに使えそうな、
MODXの情報(ページアドレス)は、ありますでしょうか?

Re: cfFileViewとMODXの仕様

Posted: 2014年5月17日(土) 16:37
by kazuike
「$modx->decoded_request_uri」が使えそうな気がしたので、
取り急ぎ、「plugin.cfFileView.php」17行目

コード: 全て選択

    if ($modx->documentIdentifier == $viewFileName) {

コード: 全て選択

    if (strpos($modx->decoded_request_uri, $viewFileName) === 1) {
にすることで、機能するようになりました。

#もう少し厳密にチェックする方が良い気もしますが…

Re: cfFileViewとMODXの仕様

Posted: 2014年5月17日(土) 17:31
by yama
これってOnPageNotFoundで処理してますが、トークンを発行してOnWebPageInitで巻きとって、
<img src="[+pic.filename+]" />
とするのがスマートな気もします。[+pic.filename+]は pict.jpg?token=94a08da1fecbb6e8b46990538c7b50b2 みたいな文字列に展開します。
後日、できればやってみます