-----
ご利用のサーバ:不明
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`]]
----------------------------------------------------------------------------------
どうか、よろしくお願い致します。
「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない 【解決済み】
Re: 「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない
register_globalsみたいな感じの使い方ですね。こういう使い方は少しイレギュラーだと思うので、MODX本体やDitto側のちょっとした仕様変更の影響を受けやすいと思います。
こういう場合はconfigを使うと安定した組み込みができると思います。Dittoのconfigは、パラメータをひとつのファイルにまとめておくという目的もありますが、基本的にphpファイルとして動作しますので、動的な組み込みを行なうことができます。
http://130713084221-8767.evo.demo.modx. ... config.php
たとえば assets/snippets/ditto/configs/default.config.php を開いて、このように記述します。
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などのファイル名で作成するとよさそうに思います
こういう場合は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などのファイル名で作成するとよさそうに思います
Re: 「検索フォーム⇒dittoに渡して出力」というシステムが、最新バージョンで動かない 【解決済み】
Yama様
詳しい解説ありがとうございます!
教えて戴きました様に、コードをまとめると、うまく動くようになりました。
こんな風に使うのですね。
本当に助かりました。
ありがとうございました。
詳しい解説ありがとうございます!
教えて戴きました様に、コードをまとめると、うまく動くようになりました。
こんな風に使うのですね。
本当に助かりました。
ありがとうございました。