「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない  【解決済み】

質問全般・改善要望
返信する
Kenny
メンバー
メンバー
記事: 179
登録日時: 2011年5月28日(土) 13:41

「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない

投稿記事 by Kenny »

-----
ご利用のサーバ:不明
MODXのバージョン:1.0.10J-r1
PHPのバージョン:PHP Version 5.2.3
MySQLのバージョン:5.5.29
ブラウザ:Firefox 22.0
-----

お世話になります。

「検索フォーム⇒dittoに渡して出力」というシステムを
バージョン【1.0.6J-r3】
で運用して正常に稼働していたのですが、
最新バージョン【1.0.10J-r1】にコピーして稼働させようとすると動きません。

推測なのですが、dittoの中のコードの書き方が問題なのでしょうか。

コードは以下の通りです。


1.0.6J-r3----------------------------------------------------------------------

<?php
$checkbox = $_REQUEST["chk"];
$sort1 = $_REQUEST["radio_sort1"];
$sort2 = $_REQUEST["radio_sort2"];
$sort3 = $_REQUEST["radio_sort3"];
$sort4 = $_REQUEST["radio_sort4"];
$sort5 = $_REQUEST["radio_sort5"];
$date = '設定日,'.$_REQUEST["textfield_date"].',7|';
?>


[[Ditto? &tpl=`###` &parents=`###`
&filter=`<?= $checkbox[0]; ?><?= $checkbox[1]; ?><?= $checkbox[2]; ?>`
&orderBy=`<?= $sort1; ?> ASC,<?= $sort2; ?> ASC,<?= $sort3; ?> ASC,<?= $sort4; ?> ASC,<?= $sort5; ?> ASC`
&depth=`3` &randomize=`0`
&showInMenuOnly=`1`]]

----------------------------------------------------------------------------------

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

Re: 「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない

投稿記事 by yama »

register_globalsみたいな感じの使い方ですね。こういう使い方は少しイレギュラーだと思うので、MODX本体やDitto側のちょっとした仕様変更の影響を受けやすいと思います。

こういう場合はconfigを使うと安定した組み込みができると思います。Dittoのconfigは、パラメータをひとつのファイルにまとめておくという目的もありますが、基本的にphpファイルとして動作しますので、動的な組み込みを行なうことができます。

http://130713084221-8767.evo.demo.modx. ... config.php
たとえば assets/snippets/ditto/configs/default.config.php を開いて、

コード: 全て選択

<?php
if(isset($_GET['parents'])) $parents = $_GET['parents'];
?>
このように記述します。

http://130713084221-8767.evo.demo.modx. ... ?parents=8
http://130713084221-8767.evo.demo.modx. ... ?parents=0
すると、こういうことができます。requestエクステンダーみたいな使い方ですが、requestエクステンダーよりも柔軟な組み込みができると思います。スニペットコールもすっきりまとまります。

http://modx.jp/docs/extras/snippets/dit ... /body.html
http://www.modx.liolion.net/resource/ditto2.html
configに関する説明はこちら。書いてあることは作成先とファイル名だけで、今回ならsort.config.phpなどのファイル名で作成するとよさそうに思います
Kenny
メンバー
メンバー
記事: 179
登録日時: 2011年5月28日(土) 13:41

Re: 「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない  【解決済み】

投稿記事 by Kenny »

Yama様

詳しい解説ありがとうございます!

教えて戴きました様に、コードをまとめると、うまく動くようになりました。
こんな風に使うのですね。

本当に助かりました。
ありがとうございました。
返信する