OctoberCMS获取URL到CMS页面

时间:2019-11-01 05:12:16

标签: redirect twig octobercms

在十月CMS中,您可以使用reverse routing在Twig模板中轻松创建到CMS页面的链接。例如:

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

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

但是,对我而言,我无法弄清楚如何获取组件中CMS页面的URL来创建指向它的重定向。

我尝试过:

return Redirect::to('help');

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

我也尝试过:

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

但是由于未注册为路线,因此会产生错误。

我不能仅对URL进行硬编码的原因是因为我正在使用Translate插件,这意味着我可以根据语言使用不同的URL。因此,例如,英语为/en/help,而西班牙语为/es/ayuda。推杆:

{{ 'help'|page }}

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

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

1 个答案:

答案 0 :(得分:2)

您可以在组件内部使用controller's pageUrl方法。

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

根据您的需要,这可以解决问题

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

如有疑问,请发表评论。