在我的自定义组件中...
- 我将国家列表显示为链接和一个名为“dogs”的额外链接
- 单击一个国家/地区后,将显示该国家/地区的人员列表(视图:人员),方法是
country
在模型中添加过滤器。 - 如果单击“狗”,则会显示拥有狗的人员列表(视图:人员),无论他们居住在哪个国家/地区。这是通过
dog
在模型中添加过滤器来完成的。
人员视图中的任务
,我想根据国家或狗是否设置为过滤器来显示标题,例如“奥地利”或“有狗的人”。
我试过的......
从我的视图对象读取活动过滤器总是返回两个过滤器1
,即使它没有设置:
["filter.country"]=>int(1)
["filter.dog"]=>int(1)
["list.limit"]=>string(2) "20"
(...)
我的模型文件(片段):
protected function populateState($ordering = null, $direction = null) {
$app = JFactory::getApplication();
$country = $this->getUserStateFromRequest($this->context.'.filter.country', 'country', '', null, false);
$this->setState('filter.country', (int) $country);
$dog = $this->getUserStateFromRequest($this->context.'.filter.dog', 'dog', '', null, false);
$this->setState('filter.dog', (int) $dog);
(...)
parent::populateState($ordering, $direction);
}
编辑:
public function __construct($config = array()) {
if (empty($config['filter_fields'])) {
$config['filter_fields'] = array(
'country',
'dog'
);
}
parent::__construct($config);
}
视图.html.php:
public function display($tpl = null) {
$app = JFactory::getApplication();
$this->state = $this->get('State');
(...)
我迷路了——从状态中读取信息是胡说八道,还是我的过滤器设置不正确?