そのため、Yii プロジェクトの 1 つのページネーション設定があり、CListViewを使用して目的の結果を達成しました。セキュリティと読みやすさのために、actionParams 関数を$_POSTパラメーターのみにマップするように構成しました。
今私の問題は、ソート可能なフィールドまたはページのリンクをクリックすると、実際にはGETのデータになることです。代わり にPOSTに変更するにはどうすればよいですか?
そのため、Yii プロジェクトの 1 つのページネーション設定があり、CListViewを使用して目的の結果を達成しました。セキュリティと読みやすさのために、actionParams 関数を$_POSTパラメーターのみにマップするように構成しました。
今私の問題は、ソート可能なフィールドまたはページのリンクをクリックすると、実際にはGETのデータになることです。代わり にPOSTに変更するにはどうすればよいですか?
それがあなたのニーズを満たすかどうかはわかりませんが、JavaScriptを使用して手動でajaxの更新をトリガーできます$.fn.yiiListView.update('list-id',{type: 'POST'});
。2番目の引数では、データやその他のajaxオプションを送信することもできます$.fn.yiiListView.update('list-id',{type: 'POST',data:{ex_var: 'TEST'}});
。
ただし、これを使用するには、上記をバインドしてページャーのイベントをクリックする必要があります。
別の解決策は、jquery.yiilistview.jsを編集することです(framework / zii / widgets / Assets / listviewにあります)。更新関数が配置されている82行目に移動し、次のようなオプションを編集します。
options = $.extend({
type: 'GET', //<- change this to POST
url: $.fn.yiiListView.getUrl(id),
...
});
また、アセットフォルダを更新する必要があります。ただし、すべてのCListViewの動作が変わることに注意してください:)
よろしく。