ZF3 перенаправляет на другой контроллер, действующий в другом модуле

Я использую ZF3 с модулями Applcation и User. Модуль приложения - это загруженный по умолчанию модуль, который содержит мою индексную страницу в качестве страницы приветствия без информации для входа. В модуле User есть страница входа и все элементы аутентификации пользователя.

Мне нужно поместить кнопку на странице действия индекса модуля моего приложения для перенаправления на страницу входа на страницу индекса пользовательского модуля.

Я пытаюсь использовать ответ из этого сообщения, но это не работает.

<p>
<a class="btn btn-default" href="
    <?= $this->getHelper(redirector)->gotoSimple('index', 'index', 'user'); ?>">
    Other module index action
</a>
</p>

Это приводит к следующей ошибке:

Zend \ ServiceManager \ Exception \ ServiceNotFoundException

Файл:

/path/to/project/vendor/zendframework/zend-servicemanager/src/AbstractPluginManager.php 133

Сообщение:

A plugin by the name "getHelper" was not found in the plugin manager Zend\View\HelperPluginManager

Как мне перенаправить на действие другого модуля с помощью ZF3?


person Mendes    schedule 25.11.2016    source источник


Ответы (1)


Сообщение, на которое вы ссылаетесь, называется zendframework 1. С тех пор в ZF3 было внесено много изменений.

Также перенаправление - это то, что вы делаете внутри контроллера. например если что-то успешно сохранено в базе данных, вы можете перенаправить в рамках того же запроса на другую страницу с сообщением или просмотреть сохраненные изменения.

Вам нужен помощник по URL. Вы используете его внутри шаблона zend-view для создания URL-адреса.

<a href="<?= $this->url('news', ['action' => 'details', 'id' =>42]); ?>">
    Details of News #42
</a>
person xtreamwayz    schedule 28.11.2016
comment
Мне ясно. Спасибо. - person Mendes; 28.11.2016