在Concrete5中交换页面列表控制器

时间:2016-05-31 06:43:20

标签: controller swap concrete5

在Concrete5中,可以覆盖核心代码。这似乎不是PageList类的情况。我相信这是因为它不是app容器的一部分,而是通过别名或全类new \ Concrete \ Core \ Page \ PageList()直接在代码中调用;

Core :: bind不起作用

\Core::bind('\Concrete\Core\Page\PageList', function ($app, $params) {
return new \Concrete\Package\MyPackage\Src\Page\PageList();
});

覆盖别名也行不通。这是因为在核心中使用了别名和完整的类名。

'aliases' => array(
    'PageList' => 'Concrete\Package\ZuiderlichtUtilities\Src\Page\PageList',
),

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

如果您指定了要完成的内容,这可能会有所帮助,但如果您想要在整个网站范围内完全覆盖页面列表块,则可以从具体/ blocks / page_list / application / blocks / page_list /

但在大多数情况下,您可以在 application / blocks / page_list / templates / 中对其进行模板化或扩展。

请参阅:Searching and Sorting with the PageList Object