2013-12-17 5 views
0

Я использую Yii в качестве рамки, и у меня возникают проблемы с этим фрагментом кода.Отображение сложных выходов

Я хочу вывести квартиры, который имеет «статус» в «оккупированную»

Так что я по этой ссылке CHtml с параметрами строки запроса

<?php echo CHtml::link('Occupied Apartments', array('/apartments/','status'=>'occupied')); ?> 

Но он по-прежнему отображает все выходы даже если состояние доступен". В чем проблема?

Любая помощь будет оценена

+0

Можете ли вы просто показать код действия, на котором эта ссылка приведет вас? –

ответ

0

Я думаю, что вы пытаетесь построить ссылку как

http://yourdomain.com/controller/action/status/xyzStatus 

Для этого сначала вы должны настроить этот URL структуры в urlManager в вашем конфигурационном файле, т.е., основной. PHP в защищенном/конфигурации/

Просто добавьте строку в сильфон urlManager правила

'<controller:\w+>/<action:\w+>/<status:([A-Za-z0-9-]+)>' => '<controller>/<action>', 

Наконец ваши основные правила URL будет выглядеть как

'rules' => array(
      '<controller:\w+>/<action:\w+>/<status:([A-Za-z0-9-]+)>' => '<controller>/<action>', //This is newly added line 
      '<controller:\w+>/<id:\d+>' => '<controller>/view', 
      '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
      '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
     ), 

Теперь ваш URL будет работать. Вы можете получить значение состояния с помощью $_GET['status'];

0

Пожалуйста, отфильтруйте поставщик данных с помощью $ _GET ['status']; в основном на условиях с CActiveDataProvider.