在 Zend MVC 中,如何为子路径中的页面添加视图?
/controller/action
但是如果我们有
/controller/action/subaction
怎么办?如何将这个“子操作”添加到控制器?
/controller/action
but what if we have
/controller/action/subaction
How do you add this "subaction" to controller?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
MVC 设计中没有子操作。
您可以做的是将“子操作”设置为操作的参数或参数。如果您不想使用默认的
param/value
配对,则需要设置自定义路由来识别单个值。要选择不同的视图,请使用
ViewRenderer
操作助手。请参阅ZEND,用数据渲染不同的视图There are no sub-actions in an MVC design.
What you can do is set "subaction" as a parameter or argument to the action. If you don't want to use the default
param/value
pairing, you would need to set up a custom route to recognise a single value.To choose a different view, you use the
ViewRenderer
action helper. See ZEND, rendering different view with data你可以在其他地方创建 Facade,然后编写 mod_rewrite 将所有 ^/controller/.* URL 重定向到 /controller/ 并将 init() 方法中的所有请求重定向到 Facade 中的相应方法。
你也可以尝试创建类似 YourController 的东西来扩展 Zend_Controller_Action ,并修改所有控制器以扩展该控制器
you can create Facades somewhere else, then write mod_rewrite to redirect all ^/controller/.* URLs to /controller/ and redirect all requests in init() method to correspondent method in Facade
you can also try to create something like YourController that extends Zend_Controller_Action, and modify all controllers to extend that controller