在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',
),
还有其他方法吗?
答案 0 :(得分:0)
如果您指定了要完成的内容,这可能会有所帮助,但如果您想要在整个网站范围内完全覆盖页面列表块,则可以从具体/ blocks / page_list / 复制controller.php和view.php strong>到 application / blocks / page_list /
但在大多数情况下,您可以在 application / blocks / page_list / templates / 中对其进行模板化或扩展。