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'));
如有疑问请评论。
在 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'));
如有疑问请评论。