這裏是我的4個半美分....
我看到這個工作的唯一方法是通過非AJAX提交過程在某處存儲您的「嚮導」值(我在想$ _SESSION,但不知道這是否可行),可以通過model-> search ()函數在所有過濾/搜索實例中調用,並將其添加到搜索條件中。
很明顯,以下內容對你沒有幫助,但可能會解釋我在類似情況下所做的更多。默認情況下,我想限制某些用戶類型的大型表格的視圖,但限制並不像僅顯示單個用戶標識的條目那樣簡單。只要用戶過濾他們有權訪問所有底層數據的數據,
我最終做的是檢測他們是否在我用來限制數據的任何列上進行篩選,如果應用了用戶提交的篩選器,或者在同一列上應用我自己的限制篩選器(如果他們沒有) 。所以,我想申請這對我會檢測是否此默認限制應提出申請,或不適合用戶一起做這樣的事的模型 - >搜索()函數中的每一列:
if(isset($this->A_DB_Column_Name) && in_array($this->A_DB_Column_Name,array(default limitation))) {
$criteria->compare('A_DB_Column_Name',$this->A_DB_Column_Name,false);
} else {
$criteria->compare('A_DB_Column_Name',array(default limitation),false);
}
你加入,是他們又在表單中MODELNAME [AttributeName會]隱藏字段? Yii對於那些使用它們的組件非常嚴格。如果你指定一些更多的信息(代碼等),可能是最好的,你給這裏的人很少繼續。 – Blizz
謝謝, 我不想讓這個問題具體(這就是爲什麼我沒有代碼),因爲我認爲它是一個共同的問題。 想象一下,我的cgridview上方有我自己的窗體(不是窗口小部件)。用戶可以在我的自定義表單中填寫一些字段。用戶對CGridView進行過濾或排序(使用默認按鈕和字段)時,排序或篩選器操作也需要使用我的自定義窗體的值。 其實我想製作高級搜索表單,但這是一個複雜的代碼來理解:)。 希望這更有意義... – Wannes