如何使用"硬编码"后端列表中的范围

时间:2017-04-19 10:54:50

标签: octobercms

我想在2个单独的标签中显示记录列表。 例如,我们可以开具发票。在第一个标签中,应该有status="paid"的记录,而第二个标签中应有status="new"

我知道我可以在控制器索引视图中创建选项卡并使用不同的列表定义,但我无法弄清楚如何在列表定义上强制使用范围。

使用conditions选项

可以在realation配置文件中完成同样的操作

1 个答案:

答案 0 :(得分:2)

你可以覆盖控制器中的listExtendQuery函数,就像这样

public $listConfig = ['status_paid' => 'config_paid_list.yaml', 'status_new' => 'config_new_list.yaml'];

...

public function listExtendQuery($query, $definition = null) {
    if ($definition == 'status_paid') {
        $query->where('status', 'paid');
    } elseif ($definition == 'status_new') {
        $query->where('status', 'new');
    }
}