从 Zend Controller 插件中获取视图对象

2023-12-05

在我的控制器中,我有一个 postDispatch 来整合我的 FlashMessenger 消息:

public function postDispatch()
{       
    $messages = $this->_helper->getHelper ( 'FlashMessenger' )
        ->getMessages ();

    if ( $this->_helper->getHelper ( 'FlashMessenger' )
        ->hasCurrentMessages () )
    {
        $messages = array_merge ( $messages, $this->_helper->getHelper ( 'FlashMessenger' )
            ->getCurrentMessages () );
        $this->_helper->getHelper ( 'FlashMessenger' )
            ->clearCurrentMessages ();
    }

    $this->view->alert = $messages;
}

我想把它做成一个控制器插件。

更新:我意识到为什么我需要这个 - 我想在 JSON 上下文调用时以 JSON 形式传递我的闪存消息。除非将消息添加到 View 对象,否则我不会收到消息。

我能够将消息放入数组中,但我不知道如何将它们传递到视图:

class Plugin_FlashMessenger extends Zend_Controller_Plugin_Abstract
{
    public function postDispatch($request)
    {
        $flashmessenger = Zend_Controller_Action_HelperBroker::getStaticHelper ( 'FlashMessenger' );

        $messages = $flashmessenger->getMessages ();
        if ( $flashmessenger->hasCurrentMessages () )
        {
            $messages = array_merge ( $messages, $flashmessenger->getCurrentMessages () );
            $flashmessenger->clearCurrentMessages ();
        }

        // THIS LINE IS WRONG. HOW DO I SEND $messages TO THE VIEW?
        $this->view->alert = $messages;
    }
}

奖金问题 - 这是实现这一目标的正确方法吗?谢谢!


我在寻找同样的东西时发现了你的帖子。基于这个线程,有两种简单的方法可以实现它。

One:如果您的视图在引导期间初始化(resources.view[] =在你的application.ini),你可以简单地这样称呼:

$view = Zend_Controller_Front::getInstance()
        ->getParam('bootstrap')
        ->getResource('view');

Two:如果您的视图在引导期间未初始化:

$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
if (null === $viewRenderer->view) {
    $viewRenderer->initView();
}
$view = $viewRenderer->view;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Zend Controller 插件中获取视图对象 的相关文章

  • Eclipse(STS)+ Maven

    我基本上有两个问题 有没有办法从 Eclipse 调用 Maven 控制台 我可以在哪里写eclipse eclipse 并开始构建 eclipse 项目 哪里有STS http www springsource com products
  • 奇怪的行为 CRM 2011 插件

    我已经为我们的报价产品注册了一个插件 该插件在我们的测试环境中运行良好 我已经测试过很多次了 然后在主服务器中注册插件 但是 会出现以下情况 当我首先创建或更新报价产品时 报价产品表单会变灰 单击报价单后 出现错误 没有可用的日志文件 如您
  • (更好的方法)使用 Eclipse 和 XText 获取项目中的文件

    我正在编写一个 XText 编辑器 并进行一些语义突出显示 我正在解析的部分语言引用了文件 这些文件应该存在于项目中 我想根据这些文件是否位于正确的位置来突出显示 目前 我有一个非常丑陋的解决方案 但我确信有更好的方法 public voi
  • C++ 插件的“最适合”动态类型匹配

    我有一个几乎所有东西都是插件的架构 该架构以图形用户界面为基础 其中每个插件都由一个 表面 即用户可以通过其与插件交互的 UI 控件 表示 这些表面也是插件 每当添加新插件时 瘦主机都会自动确定哪个可用表面与其最匹配的 UI 如何在 C 中
  • 创建一个简单的 Rails 3 文本助手 Gem [重复]

    这个问题在这里已经有答案了 我一直在开发我的第一个 Rails 3 插件 以打包一个我喜欢在ApplicationHelper我所有的应用程序 你可以看到整个代码在 Github 上 https github com burlesona s
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • 动态加载具有某些其他 dll 依赖项的 .NET 程序集

    我想为我的应用程序创建一个插件引擎 但我有一个问题 如何加载对其他程序集有一定依赖的 Net 程序集 实际上是我的插件 例如我想加载A DLL and A DLL需要B dll or C dll等等来运行 这A dll有两种方法 例如A a
  • 如何将我的 init 函数中的代码集中到所有控制器中?

    public function init this gt view gt user Zend Auth getInstance gt getIdentity this gt view gt siteName Zend Registry ge
  • Zend RegEx Validator 的自定义有意义的错误消息

    我正在验证表单中的文本字段 如下所示 name new Zend Form Element Text name name gt setLabel First Name gt setRequired true gt addFilter new
  • 如何编写 sbt 插件来通过代理启动应用程序

    我想在开源之前为我的项目创建一个 sbt 插件 该项目在应用程序运行开始时附加一个 Java 代理 以对其进行各种类型的分析 代理写出文本文件以供以后处理 我希望能够编写一个 sbt 插件 有一个替代方案run called runWith
  • 将此自定义 JQuery 工具提示脚本转换为 Jquery 插件

    我在一些 stackoverflow 用户的帮助下 使用 Jquery 和通用 Javascript 开发了这个工具提示脚本
  • Zend_Cache_Backend_Sqlite 与 Zend_Cache_Backend_File

    目前我正在使用 Zend Cache Backend File 来缓存我的项目 尤其是来自外部 Web 服务的响应 我在想是否能找到将结构迁移到 Zend Cache Backend Sqlite 的一些好处 可能的优点是 文件系统有序 缓
  • 我可以通过什么方式混合 jQuery 和 vanilla JavaScript

    我有一个用普通 JavaScript 编写的 Web 应用程序 我想用 jQuery 动画来增强它 并使用我在各种 jQuery 插件中找到的一些功能 例如上传 http www uploadify com 可以通过什么方式将 jQuery
  • Zend 框架会话丢失

    我有一个注册表单 当用户注册时 它会将他重定向到他的页面 在 Firefox 和 Chrome 中一切正常 但在 Internet Explorer 中则正常 看起来保存用户信息后 会话就关闭了 并且不会将用户重定向到他的页面 我该如何解决
  • WordPress 联系表 7 日期选择器更改日期格式

    我在用着Contact Form 7WordPress 中的插件 我需要一些帮助datepicker关于如何更改我的表单前端的显示日期格式 默认显示mm dd yy我想把它改成dd mm yy但不幸的是我无法使用这段代码 dateForma
  • Zend Framework - Flashmessenger - 只有一个字符

    我在使用 FlashMessenger 时遇到了一些问题 当我想检索布局中的消息时 它会写入消息的第一个字母 示例 test 显示 t 我尝试了发布的解决方案这个问题 https stackoverflow com questions 10
  • ZF2 路由与 ZF1 相同

    如何使路由自动适用于 ZF1 结构中的所有内容 模块 控制器 操作 par1Name par1Val par2Name par2Val 我阅读了有关路由的信息 但在我看来 我必须手动添加所有操作 并且我发现可选参数存在问题 您可以至少在每个
  • 使用Zend实现文件上传进度

    您好 我正在尝试使用 Zend 实现上传进度 但是我还没有找到任何详细的教程 指针会很有用 Thanks 我不记得曾经看过完整详细的教程来解释如何使用 Zend Framework 获取上传进度条 但这里有一些提示 如果您已经了解有关 PH
  • IntelliJ IDEA Scala 插件问题

    我对新的 Intellij IDEA 10 和 Scala 插件有疑问 当我在 Scala 源文件中输入任何内容时 编辑器会永久冻结 在其他文件 java 和其他 编辑器中效果很好 结构视图 scala 检查和显示成员功能已关闭 堆大小增加
  • 404 路由无法匹配请求的 URL

    我刚刚开始学习zend 框架 questions tagged zend framework并遵循此用户指南 http framework zend com manual 2 3 en index html 我能够成功安装zend skel

随机推荐

  • 线程 NSTimer

    我知道有关此主题的许多问题 因为我自己之前也问过一个问题 但是 我的问题现在似乎与线程部分更相关 我有以下2种方法 void restartTimer NSAutoreleasePool pool NSAutoreleasePool all
  • 德尔福嵌入式 Chrome

    有人有使用delphi嵌入式chrome的经验吗 Delphi铬嵌入式 如何访问其 HTML 文档 就像给 Editbox 赋值一样 See 演示 guiclient目录为例 更新 设置输入字段文本的示例iGoogle page proce
  • TCP 连接似乎接收到不完整的数据

    我已经设置了一个简单的 TCP 文件传输 一切似乎都工作正常 除了接收到的文件大小偶尔小于发送的文件大小 接收到的文件的大小似乎没有任何规律 在下面的代码中 请注意典型的客户端 服务器滚动是相反的 我的客户端代码如下 define kMax
  • VBA 中的类定义如何工作

    当我尝试学习 VBA 时 课程给我带来了一些沉重的痛苦 以下是我的一本 VBA 书籍 VBA 和宏 Microsoft Excel 2010 Bill Jelen 第 497 页 中的一些内容 这绝对是奇异而奇特的 我们在VBE中打开一个类
  • 嵌入 Python:对“_imp__Py_Initialize”的未定义引用

    我正在尝试将 python 3 7 0 嵌入到 C 应用程序中并使用 MinGW 进行编译 include Dependencies include Python h int main PyObject myPointer Py Initi
  • Java 使用 JAXB 解组对象列表

    我的 XML 如下所示
  • 在Java中,为什么 ((A)b).disp() 调用派生类方法 disp() 而不是基类方法 disp() ?

    我正在学习 Java 是一个初学者 请帮我找出为什么这不起作用 在下面的程序中 我的目标是从主方法调用基类方法 而不在派生类方法中使用 super 关键字 如代码所示 main方法中的 A b num 工作得很好 并且按预期输出 100 但
  • Android 全文搜索和 ListAdapter

    我已经有一个使用 SQLite 数据库和列表适配器的应用程序 我正在尝试更新我的应用程序以使用全文搜索功能 但正在努力寻找问题的答案 基本上 当我使用必要的 id 列创建虚拟表时 数据库会将其转换为文本字段 并且它不再是自动增量主键 我如何
  • 在python中将字符串日期转换为日期格式?

    如何在Python中将下面的字符串日期转换为日期格式 input date 15 MARCH 2015 expected output 2015 03 15 我尝试使用datetime strftime and datetime strpt
  • Python 中的常量究竟由什么构成?

    PEP 8 规定 that 常量通常在模块级别定义并写在所有模块中 大写字母用下划线分隔单词 例子包括MAX OVERFLOW and TOTAL 我知道这只是一个命名约定 但我很想知道是否有官方或广泛接受的定义来定义常量与半私有变量的实际
  • 将子进程的标准输出重定向到 2 个或更多子进程的标准输入

    基本上我想学习如何使用stdout of one subprocess say proc1 as stdin2 个或更多其他subprocesses say proc2 proc3 在Python中 你好 我需要zcat gz 文件并使用发
  • 带枚举的单例与带双重检查锁定的单例

    我想知道在多线程环境中实践中哪一个更好 我将 Singleton 理解为 Enum 类型在加载类时创建一个实例 除此之外我没有看到任何其他重要的东西 有什么优点和缺点吗 单例作为Enum type public enum Singleton
  • 如何分离由 subprocess.call 运行的程序?

    我正在使用 subprocess call 使用默认应用程序打开 pdf 文件 如下所示 subprocess call xdg open pdf stderr STDOUT 但是 当运行该进程时 该进程已附加到终端 我想将其分离 基本上
  • Windows 中是否有相当于 cron 的工具?

    我想知道是否有同等的cron在 Windows 中以及如何使用 PHP 以编程方式使用它 Windows 有Scheduled Tasks控制面板小程序 或更高版本的 Windows 上的管理控制台插件 但您也可以通过以下方式访问它scht
  • 防止应用程序升级时数据丢失

    我们开发了一款 Android 应用程序 并通过 MDM 移动设备管理 Soti Mobi 控制 推送新的安装和更新 发送的更新会静默升级应用程序 无需用户确认 因此 如果用户正在使用应用程序 应用程序会自动停止 升级并从头开始启动 因此用
  • grep (bash) 多行模式

    在 bash 4 3 46 1 中 我有一些多行所谓的 fasta 记录 其中每个记录都是由 gt name 和以下几行 DNA 序列 AGCTNacgtn 启动 这里有三个记录 gt chr1 AGCTACTTTT AGGGNGGTNN
  • 请求了 n 条推文,但 API 只能返回 0 错误

    我无法使用 R 中的 twitteR 包检索任何推文 例如此请求 nbahash tweets searchTwitter nba since 2013 01 01 until 2014 02 25 n 20 显示此警告消息 警告消息 在
  • 如何在 Dropbox API v2 中创建不过期令牌?

    正如标题所说 最近 Dropbox API 改版后 Token 开始有过期时间了 以前如果我不撤销的话 Token是可以永久使用的 也许出于安全原因添加了过期时间 然而 这对于我的应用来说非常不方便 我需要上传文件很长时间 可能一次超过一个
  • 使用另一个数组从数组中删除条目

    不知道该怎么做 所以非常感谢任何帮助 说我有 const array1 1 1 2 3 4 const array2 1 2 所需输出 const result 1 3 4 我想比较一下array1 and array2对于每个条目arra
  • 从 Zend Controller 插件中获取视图对象

    在我的控制器中 我有一个 postDispatch 来整合我的 FlashMessenger 消息 public function postDispatch messages this gt helper gt getHelper Flas