在 Joomla 3 中按文章 ID 过滤博客类别中的文章

Filter articles in blog category by article id in Joomla 3

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

我正在尝试添加新的 setState,它将按给定的 ID 过滤文章的输出

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

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

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

而且,输出根本没有被过滤。

为了确定这种过滤器是否有效,我修改了精选文章的模型->setState:

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

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

有什么想法吗?谢谢!

在您的 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'));

你会得到想要的结果。