OctoberCMS获取CMS页面的URL



在十月CMS中,您可以使用反向路由在Twig模板中轻松创建指向CMS页面的链接。例如:

<a href="{{ 'help'|page }}">Go to help page</a>

将链接到文件名为help.htm的CMS页面,用该页面中定义的URL替换URL。

然而,就我的一生而言,我不知道如何在组件中获得CMS页面的URL来创建重定向。

我试过了:

return Redirect::to('help');

它只是重定向到/helpURL,这不是正确的URL,所以我得到了404。

我也试过:

return Redirect::to(Url::route('help'));

但是,这会产生一个错误,因为它没有注册为路由。

我不能硬编码URL的原因是我使用的是翻译插件,这意味着我可以根据语言使用不同的URL。例如,在英语中它是/en/help,但在西班牙语中它将是/es/ayuda。投放:

{{ 'help'|page }}

在我的Twig文件中,会自动获得基于当前语言的正确URL。

这可以在组件或控制器中实现吗?

在组件中,您可以使用controller's pageUrl方法。

$this->controller->pageUrl(<file_name>, <params>);

根据您的需要,这应该做技巧

return Redirect::to($this->controller->pageUrl('help'));

如果有任何疑问,请发表评论。

最新更新