OctoberCMS 获取 URL 到 CMS 页面

OctoberCMS Get URL to CMS page

在 October CMS 中,您可以使用 reverse routing 在 Twig 模板中轻松创建 link 到 CMS 页面。例如:

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

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

然而,对于我来说,我无法弄清楚如何将 URL 获取到组件中的 CMS 页面以创建指向它的重定向。

我试过了:

return Redirect::to('help');

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

我也试过:

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

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

我不能硬编码 URL 的原因是因为我使用的是 Translate 插件,这意味着我可以有不同的 URL 取决于语。因此,例如,在英语中它将是 /en/help,但在西班牙语中它将是 /es/ayuda。放:

{{ 'help'|page }}

在我的 Twig 文件中会根据当前语言自动获取正确的 URL。

这可以在组件或控制器中完成吗?

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

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

according to your need, this should do the trick

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

如有疑问请评论。