在Zend Framework中的控制器中使用视图助手

Mat*_*oli 18 php zend-framework view-helpers

我有一个用AJAX调用的控制器(发送JSON数据),所以我不使用视图.

我需要使用personnal 视图助手来格式化我的数据,但是在我的控制器中.

那可能吗 ?

或许我做错了(也许我应该有一个观点,但是如何使用JSON)?

Gor*_*don 43

您可以从Controller访问任何ViewHelper

$this->view->helpername(/*params*/);
// or
$helper = $this->view->getHelper('helpername');
// or
$broker = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$broker->getView()->helpername(/*params*/);
Run Code Online (Sandbox Code Playgroud)

请参阅Zend:如何从控制器中的视图助手中使用自定义函数?

但是,你可能是对的,你做错了(有趣的照片顺便说一句),但我无法从你的问题中说出来.请详细说明为什么需要调用视图助手以及它应该格式化的内容.

  • 我发现如何在 boostrap 中有返回 $view 的 _initView,然后使用这个 $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view'); (2认同)

小智 5

Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');
Run Code Online (Sandbox Code Playgroud)

只要确保返回的视图是您想要的视图。因为接下来,视图可能会被覆盖,并且在控制器上您有一个全新的视图。

以及您在操作助手等视图上设置的所有值...在控制器启动之前?一切随风而去!

因此,在假设您获得视图资源之前进行测试。它确实与您期望的视图资源相同,并且您的所有变量仍然存在。

你可能和我一样惊讶!