按照Joomla 3

时间:2016-01-03 23:29:41

标签: joomla3.0

在category.php模型中,有一堆$ model-> setState过滤器,用于塑造文章的输出。

我正在尝试添加新的setState,它会根据给定的ID来过滤文章的输出

$model->setState('filter.id', $params->get('id_articles', array());

但仍然不会过滤。所以我尝试使用直接id输入:

$model->setState('filter.id', '280');

但仍然没有过滤输出。

为了确定这种过滤器是否有效,我修改了特色文章的model-> setState:

$model->setState('filter.featured', 'only');

这证明$ model-> setState正常工作,但它不接受按文章ID过滤。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

在populateState()方法中

将状态设置为:

$articleIds = explode(',', $params->get('id_articles'));
$this->setState('filter.article_id', $articleIds);

$this->setState('filter.article_id', $articleIds);

然后在你的getItems()方法中,只需将模型中的状态设置为:

$model->setState('filter.article_id', $this->getState('filter.article_id'));

你会得到理想的结果。