在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过滤。
有什么想法吗?谢谢!
答案 0 :(得分:2)
将状态设置为:
$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'));
你会得到理想的结果。