显示复杂的输出

时间:2013-12-17 02:19:56

标签: php yii param

我正在使用Yii作为框架,我在使用这段代码时遇到了麻烦。

我想输出“状态”为“已占用”的公寓

所以我有这个带有查询字符串参数的CHtml链接

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

但即使状态为“可用”,它仍会显示所有输出。一定是什么问题?

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

我认为您正在尝试将链接构建为

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

为此,首先您在配置文件的urlManager中配置此URL结构,即protected / config /

中的main.php

只需在urlManager规则中添加波纹管线

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

最后,您的基本网址规则将显示为

   '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>',
        ),

现在你的网址会有效。您可以使用$_GET['status'];

获取状态值

答案 1 :(得分:0)

请使用$ _GET ['status']过滤您的数据提供商;主要是在CActiveDataProvider的条件下。