在我的索引页面中,我有这段代码来调用搜索操作:
$this->renderPartial('search');
这是搜索操作代码:
$criteria = new CDbCriteria();
if (isset($_GET['city'])) {
$q = $_GET['city'];
$criteria->compare('fileName', $q, true, 'OR');
$criteria->compare('tags', $q, true, 'OR');
$dataProvider = new CActiveDataProvider("Files", array('criteria' => $criteria));
$this->redirect('result', array('dataProvider'=>$dataProvider));
}
$dataProvider = new CActiveDataProvider("Files", array('criteria' => $criteria));
$this->render('search');
这是搜索视图:
<form method="get">
<?php
$url = CHtml::normalizeUrl(array("files/search"));
$model = Files::model();
$c = new FilesController('view');
$this->widget('zii.widgets.jui.CJuiAutoComplete',array(
'model'=>$model,
'id'=>'autocomplete',
'attribute'=>$model->fileName,
'name'=>'city',
'source'=>$c->actionAutoComplete(),
// additional javascript options for the autocomplete plugin
'options'=>array(
'minLength'=>'1',
),
'htmlOptions'=>array(
'style'=>'height:20px;',
'placeholder'=>'search',
'value'=>'isset($_GET["city"]) ? CHtml::encode($_GET["city"]) : "" ',
),));
?>
<input type="submit" value="search" />
</form>
我想在另一个视图中显示搜索结果,所以一旦点击了搜索提交按钮,我想重定向到另一个视图以显示结果,但在此代码中搜索结果显示在索引页面中。 那该怎么办?
答案 0 :(得分:1)
您可以设置您希望发送表单的网址,例如:
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'action' => Yii::app()->createUrl('anotherController/anotherView'),
'method' => 'post',
));
或者您可以在完成索引后重定向到另一个页面,例如:
$this->redirect(array('anotherController/anotherView'));