[在十月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文件中,将根据当前语言自动获取正确的URL。
这可能在组件或控制器中吗?
在组件内,您可以使用controller's pageUrl
方法。
$this->controller->pageUrl(<file_name>, <params>);
根据您的需要,这可以解决问题
return Redirect::to($this->controller->pageUrl('help'));
[如有疑问请发表评论。