0

在我的自定义组件中...

  • 我将国家列表显示为链接和一个名为“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');
    (...) 

我迷路了——从状态中读取信息是胡说八道,还是我的过滤器设置不正确?

4

0 回答 0