ZF3 重定向到另一个模块中的另一个控制器动作

ZF3 redirect to another controller acton in another module

我将 ZF3 与 Applcation 和 User 模块一起使用。 Application 模块是默认加载的模块,它包含我的索引页面作为没有登录信息的欢迎页面。用户模块有登录页面和所有用户身份验证内容。

我需要在我的应用程序模块索引操作页面中放置一个按钮,以重定向到用户模块索引页面的登录页面。

我正在尝试使用 this post 的答案,但它似乎不起作用。

<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 重定向到另一个模块的操作?

您链接的 post 是 zendframework 1。从那时起对 ZF3 进行了很多更改。

重定向也是您在控制器内部执行的操作。例如如果某些内容已成功保存到数据库中,您可以在同一个请求中重定向到带有消息的另一个页面或查看保存的更改。

您要查找的是url helper。您在 zend-view 模板中使用它来生成 url.

<a href="<?= $this->url('news', ['action' => 'details', 'id' =>42]); ?>">
    Details of News #42
</a>