OctoberCMS Получить URL на странице CMS - PullRequest
1 голос
/ 01 ноября 2019

В CMS за октябрь вы можете легко создать ссылку на страницу CMS в шаблоне Twig с обратной маршрутизацией . Например:

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

будет ссылаться на страницу CMS с именем файла help.htm, заменяя URL-адрес URL-адресом, определенным на этой странице.

Однако, на всю жизнь,Я не могу понять, как получить URL-адрес страницы CMS в компоненте для создания перенаправления на него.

Я пытался:

return Redirect::to('help');

, который просто перенаправляет на /helpURL, который не является правильным URL, поэтому я получаю 404.

Я также попытался:

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

Однако это приводит к ошибке, так как он не зарегистрирован как маршрут.

Причина, по которой я не могу просто жестко закодировать URL, заключается в том, что я использую плагин Translate , что означает, что у меня может быть другой URL в зависимости от языка. Так, например, на английском языке это будет /en/help, но на испанском это будет /es/ayuda. Помещение:

{{ 'help'|page }}

в мои файлы Twig автоматически получит правильный URL на основе текущего языка.

Возможно ли это сделать в компоненте или контроллере?

1 Ответ

2 голосов
/ 01 ноября 2019

В вашем компоненте вы можете использовать controller's pageUrl метод.

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

в зависимости от ваших потребностей, это должно помочь

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

, если таковые имеютсясомнения, пожалуйста, прокомментируйте.

...