如何在 Zend Framework 2 中使用自定义表单视图助手?

2023-11-25

我写了一个表单视图助手,它扩展了Zend\Form\View\Helper\FormMultiCheckbox并覆盖其renderOptions(...) method:

<?php
namespace MyNamespace\Form\View\Helper;

use Zend\Form\View\Helper\FormMultiCheckbox as ZendFormMultiCheckbox;

class FormMultiCheckbox extends ZendFormMultiCheckbox 
{

    protected function renderOptions(...)
    {
        ...
        $label     = $escapeHtmlHelper($label);
        $labelOpen = $labelHelper->openTag($labelAttributes);
        switch ($labelPosition) {
            case self::LABEL_PREPEND:
                $template  = $labelOpen . $label . $labelClose . '%s';
                break;
            case self::LABEL_APPEND:
            default:
                $template  = '%s' . $labelOpen . $label . $labelClose;
                break;
        }
        $markup = sprintf($template, $input);

        $combinedMarkup[] = $markup;
        ...
    }

}

下一步是注册新的视图助手。我这样做就像here shown:

namespace Application;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;

class Module {

    ...

    public function getViewHelperConfig() {
        return array(
            'invokables' => array(
                'FormMultiCheckboxViewHelper' => 'MyNamespace\Form\View\Helper\FormMultiCheckbox',
            )
        );
    }
}

现在我的问题:如何使应用程序使用我的表单视图助手而不是Zend\Form\View\Helper\FormMultiCheckbox?


虽然安德鲁斯答案有效,但这不是必需的,只需使用默认视图助手名称并将其映射到您的助手类,应用程序就会使用您的助手

public function getViewHelperConfig() {
    return array(
        'invokables' => array(
            'formmulticheckbox' => 'MyNamespace\Form\View\Helper\FormMultiCheckbox',
        ),                
    );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Zend Framework 2 中使用自定义表单视图助手? 的相关文章

  • Symfony2 - ReferencedColumnName id 为空

    我要放弃食谱文章了表单集合 http symfony com doc current cookbook form form collections html但是 当尝试将其保留到数据库时 我收到约束冲突错误 引用的列名称 id 为空 SQL
  • 如何使用doctrine-orm-module和zf2从数据库模式生成实体

    我在用 学说 学说 orm 模块 0 7 0 https packagist org packages doctrine doctrine orm module与ZF2 创建实体后 我通常运行以下命令来根据我的实体自动同步和生成数据库 ve
  • 使用 HTML 表单时如何在 HTTP 请求正文中发送数据?

    HTTP 规范规定 POST 请求可以包含任意数据体 An HTML form元素可以 POST 到 URL 并且可能包含input元素 但那些input元素变成查询字符串 我怎样才能得到一个form还可以在按下提交按钮时发送的 HTTP
  • 在 Spring MVC 中使用一系列项目处理表单发布

    我正在尝试将一些数据从客户端发送到服务器 并将其处理为文件下载 我使用简单的 HTML 表单 因为我想初始化文件下载 而不是 AJAX 其中一个表单字段是一组项目 另外两个是名称和描述字符串 在提交表单之前 我将此字段序列化为字符串 JSO
  • 将选择菜单连接到单个表单输入中

    我有一个文本输入如下
  • Angular 2.0 是否有类似于 Angular 1 中的 `$setPristine` 函数?

    提交表格后 pristine输入的状态仍然是 假 我不知道如何重置pristine陈述为真 在 Angular 1 中 我会使用 setPristine功能 我查看了 API 和开发人员指南 没有 API 可以将输入重置为原始状态 Inst
  • zend框架中的一个模块中的多个控制器

    你好 我是 zend Framework2 2 0 的新手 我想创建一个带有多个控制器的模块我已经从 github 下载了 Album 模块并且它工作正常 现在我想在其中添加更多控制器 下面我显示了模块中文件的文件夹结构 module Al
  • PHP 5 的 HTML 表单库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个QuickForm替代品 QF 存在性能问题 例如组合框中的许多选项 我还想要一些更面向对象的东西 比如 Zend Form
  • Django:在表单中初始化小部件时获取当前网址

    当我初始化表单以在其中找到我想要检查的字符串时 我想获取当前的 url 根据这个字符串 我想更改放入单选小部件中的数据 我想根据 url 显示不同的 radioselect 选项 class FunctionForm forms Model
  • .js.erb VS .js

    将 Rails 应用程序的 javascript 放入 js erb 文件而不只是将其放入 application js 文件有什么好处 我有一个企业创建按钮 因此我应该将代码放入 create js erb 文件中 还是使用以下方法将其放
  • 强制 PayPal 始终请求信用卡信息而不是登录表单?

    我们的网站采用贝宝付款标准 当用户在我们的网站上填写他们的请求并按下 PayPal 按钮 立即购买 时 我们会将所有变量提交给 PayPal 以便他们可以处理付款 对于那些以前从未使用过贝宝并通过我们的网站付款的用户来说 它运行得非常好 因
  • 在 Objective-C iPad 开发中发布

    我正在尝试发出 POST 请求 但我似乎无法弄清楚出了什么问题 我从服务器收到响应 但我的电子邮件 密码对似乎没有正确发送 读取 由服务器 它告诉我不存在这样的帐户 这是我的代码 它包含在一个函数中 当用户按下我创建的 登录 按钮时调用该函
  • 有没有办法调用 VBA(MS Access 2002 或 2003)中任何控件的 BeforeUpdate 事件过程?

    在 VBA 中 我正在更改 Access 表单中的一些控件的值 我喜欢在执行此操作后运行这些控件的 BeforeUpdate 事件 因为它会检查字段之间的一致性 Private Sub ExampleProc1 Dim intCancel
  • 未捕获的类型错误:无法读取未定义的属性“prop”

    我有 6 个输入复选框 如果选中的复选框超过 3 个 则最后一个复选框将被取消选中 为了更好地理解 请参阅我之前的question https stackoverflow com questions 35195235 if checkbox
  • 多文件上传字段的重力形式预览缩略图

    我们使用重力形式将多个图像附加到图库自定义字段并创建新帖子 我们不知道如何在 HTML5 导入字段下显示图像缩略图 而不仅仅是在提交表单之前显示文件名 之前的答案仅涵盖单个文件上传 图片上传重力形式预览 https stackoverflo
  • 未找到“MongoId”类(带有 MongoDB Doctrine 的 Zend 框架)

    我目前正在尝试将 MongoDB 与 ZendFramework 中的 Doctrine 集成 我做了很多教程 在 StackOverflow 或其他地方 但没有任何效果 我一步步按照教程进行操作 http www bigwisu com
  • Django - 提交具有同一字段多个输入的表单

    预警 我对 Django 以及一般的 Web 开发 非常陌生 我使用 Django 托管一个基于 Web 的 UI 该 UI 将从简短的调查中获取用户输入 通过我用 Python 开发的一些分析来提供输入 然后在 UI 中呈现这些分析的可视
  • php 表单提交 - Q2

    我对这个虚拟问题感到抱歉 这是我的简单 PHP 表单 其中包含两个 SQL 表和 ADD 提交 按钮 我希望将人员从 Test1 转移到 Test2 很多事情都很好 只有提交按钮不起作用 因此 Test2 表没有反馈 Revised 现在提
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 选择框属性更改时未触发 Webkit Mutation Observer 回调

    我正在尝试监视选择框 或嵌套的option元素 与新的变异观察者 http updates html5rocks com 2012 02 Detect DOM changes with Mutation Observers功能 然而 只有

随机推荐

  • Parallel.ForEach 与 BlockingCollection 集成时停止

    我根据中的代码采用了并行 消费者的实现这个问题 class ParallelConsumer
  • Bundle.setup 和 Bundle.require 有什么区别

    From gemfile 手册页 我了解到有两种方法import您在中指定的宝石Gemfile The bundle setup将 安装程序将 gems 添加到 Ruby 的加载路径 同时bundle require将需要所有宝石 这两种方
  • Python Pandas 替换特殊字符

    由于某种原因 我无法让这个简单的语句适用于 它似乎对其他任何事情都有效 但不喜欢那个角色 有任何想法吗 DF NAME DF NAME str replace n Thanks 我假设您在这里使用 Python 2 x 这可能是 Unico
  • 如何保护 JavaScript 文件?

    我知道隐藏源代码是不可能的 但是 例如 如果我必须将 JavaScript 文件从 CDN 链接到网页 并且我不希望人们知道该脚本的位置和 或内容 是这样吗 可能的 例如 要链接网站上的脚本 我们使用 现在 是否可以向用户隐藏脚本的来源 或
  • 在 AppHarbor 上托管 WCF Web API 应用程序?

    I ve implemented a sample app like the one here It is a really basic app just to get things started Everything works fin
  • 如何使用 Firebase SDK v9(模块化)读取、写入和查询 Firebase 实时数据库中的数据

    如何执行读写操作以及从 Firebase 实时数据库查询数据 v8 中的传统语法如下 const snapshot await firebase database ref path once value 考虑样本数据 users user1
  • Xcode 11——SwiftUI 的暗模式设置

    好的 我知道这不应该是火箭科学 我似乎无法让黑暗模式工作 并且我已经阅读了几次文档 希望有人能找出我所缺少的东西 I have an named color in the asset catalog I set my plist mode
  • 如何从单个 java_test() 规则运行 Bazel 中的所有测试?

    我在 Bazel 中添加测试 但我不想为每个测试文件编写测试规则 但是 每个测试规则都需要一个 test class 正在运行的测试类 因此没有简单的方法可以使用单个 java test 规则运行所有测试 有没有一种解决方法可以让我不需要指
  • 无法解析导入com.google.android.gms

    我是 Android 开发新手 依照指示本教程我遇到错误The import com google android gms cannot be resolved当我将代码写入MainActivity java import com goog
  • 为什么我无法使用 jQuery 在 IE 中淡出该表行?

    我无法让表格行在 IE 中淡出 它可以在 Chrome 中运行 但不能在 IE 中运行 它只是变得非常 轻 并停留在屏幕上 我尝试了带兼容模式和不带兼容模式的 IE8 table tr td Hide me td tr table
  • 将日期时间从字符转换为 POSIXct 对象

    我有一个以不规则的时间格式导出数据的仪器 我需要结合date and time向量转化为新的datetime向量如下POSIXct格式 Y m d H M S 出于好奇 我尝试以三种不同的方式做到这一点 使用as POSIXct strft
  • 具有灵活返回类型的 C++ 函数模板

    假设我们有一个像这样的函数 template
  • 在单元格上设置角半径会降低 UICollectionView 的性能

    我有一个UICollectionView只有几个单元格 大约 20 个 该系列的性能非常出色 然而 一旦我尝试圆角UICollectionViewCells由于这个视图所呈现的内容 我的表现受到了重大影响 在我的单元格的 init 方法中
  • 返回未来一小时后的日期

    我正在使用获取当前日期 时间 NSDate date 返回的值是未来一个小时 我检查了手机的位置和时间设置 它们是正确的 我可以使用下面的代码将正确的日期和时间显示为字符串 NSDateFormatter localizedStringFr
  • 正则表达式提取img src javascript

    我正在尝试从长 html 字符串中提取 img 和 src 我知道有很多关于如何做到这一点的问题 但我尝试过并得到了错误的结果 我的问题只是关于矛盾的结果 我在用 var url img height quot 100 quot src w
  • 如何在回调中访问正确的“this”

    我有一个注册事件处理程序的构造函数 function MyConstructor data transport this data data transport on data function alert this data Mock t
  • 在 C# 字典中仅进行一次查找即可查找或插入

    我是一名前 C STL 程序员 尝试使用 C NET 技术编写快速行进算法 我正在寻找 STL 的等效方法map insert如果给定键不存在 则在给定键处插入值 否则返回现有键值对的迭代器 我发现的唯一方法是通过两次查找来实现这一点 一次
  • 禁用来自 scipy 的警告

    当我以不同的参数值集成函数时 经常遇到如下错误 lsoda warning internal t r1 and h r2 are such that in the machine t h t on the next step h step
  • 实时查询性能

    我最近发现jQuery 的 livequery 插件可能非常浪费 因为它不使用事件委托 而是绑定所有可绑定事件并在每次更改时重新检查整个 DOM 如果有人有关于使用 livequery 和 live 的最佳实践的更多信息或建议 我将非常感激
  • 如何在 Zend Framework 2 中使用自定义表单视图助手?

    我写了一个表单视图助手 它扩展了Zend Form View Helper FormMultiCheckbox并覆盖其renderOptions method