在concrete5(版本7)中以编程方式在单页中呈现404

时间:2016-07-08 09:00:42

标签: concrete5 concrete5-5.7

我有一个页面,它会检查一个slu ..如果在数据库表中找不到此slug,则单个页面应呈现404页面。

我尝试过这样的事情:

$this->render('/page_not_found');

现在,这将转到您的活动包单页目录(packages / your_pkg_handle / single_pages / page_not_found.php)。它应该转到活动主题但是...我已经尝试将第二个参数设置为" null",因为我认为这将是pkgHandle,但没有结果。显然我错过了什么或者这是不可能的?

1 个答案:

答案 0 :(得分:4)

尝试

$this->replace('/page_not_found');

代替。

这有点令人费解,但其背后的原因是$ this-> render()实际上使用当前控制器呈现视图(这意味着要查看视图的包) ,而$ this-> replace()将完全用新控制器替换渲染会话,查看并退出输出。