问题标签 [zend-form-collection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
163 浏览

zend-framework2 - 如何在 ZF2 中装饰集合中的字段集元素?

在我当前的项目中,我使用嵌套Zend\Form\Fieldset的 s 和Zend\Form\Collections,它们提供了一种非常舒适的方式来将复杂的对象结构映射到表单,以便从表单输入中获取完整的对象(准备保存)。

问题:我有一个Fieldset FooFieldset包含Element foo_element一个Label“foo元素”(代码见下文)并且需要使用它两次:1。作为一个单一的Fieldset;2. 在一个Collection。首先,我希望显示它的元素;其次,我想禁用标签(或者可能更改它们)。(我也想在第二种情况下用另一种方式格式化,但现在最重要的是标签。)

如何根据上下文装饰Zend\Form\ElementaZend\Form\Fieldset中的s?Zend\Form\Element\Collection


代码


解决方法 1

可以使用另一个,例如(sometnig like )Fieldset的子类并在那里调整(和其他设置)。FooFieldstFooFieldsetForUsingInCollection extends FooFieldstLabel

解决方法 2

也可以访问视图脚本中CollectionElements 并在那里操作它们(如这里所示)。但我真的不喜欢这个解决方案,因为那时Fieldset它在多个地方定义。如果Collection元素的数量是可变的,它还需要进一步的努力。

0 投票
0 回答
295 浏览

zend-framework2 - 如何将 MultiCheckbox 的元素绑定到 ZF2 中的对象?

我正在使用嵌套Zend\Form\Fieldset的 s 和Zend\Form\Collections,它们提供了一种非常舒适的方式来将复杂的对象结构映射到表单,以便从表单输入中获取完整的对象(准备保存)。

我现在要添加到表单中的元素应该代表可能的协议列表。在数据库中,它是一个带有列的简单表,id对象name的结构可以描述为Endpoint has Protocol[]。我定义了一个MultiCheckbox(如下),但我不知道如何将此元素绑定到Protocol原型。对于Fieldset它通过Fieldset\setObject(...).

如何获取Zend\Form从复选框创建对象的表单处理机制?


到目前为止的代码:

EndpointFieldset.php

myform.phml


更新

我找到了保存新条目的解决方法:我只需手动完成表单提供的对象并根据值创建Protocol对象。MultiCheckBox但是,当我将完整对象传递给更新表单(以编辑现有条目)时,我会收到一条通知,并且不会构建复选框:

注意:类 My\DataObject\Protocol 的对象无法在第 202 行的 /var/www/path/to/project/vendor/zendframework/zend-form/src/View/Helper/FormMultiCheckbox.php 中转换为 int

我对此的解释是,MultiCheckBox期望值作为原始类型(例如int)的数组。相反,它会获取一个包含对象的数组Protocol并尝试将其值用于in_array(...)-- 但这是行不通的。

0 投票
2 回答
614 浏览

php - Zend Forms (ZF1) 如何在 DD 中的复选框后添加额外的 HTML

UPD:已解决 - 添加了额外的装饰器。

我需要有以下结果:

我需要在复选框之后使用 html 标签包裹“一些文本”,但在 /DD 之前(不是之后)!

我目前的代码如下:

所以它产生:

而且我不知道如何在复选框之后注入额外的 HTML ......但在 DD 里面

0 投票
0 回答
90 浏览

zend-framework2 - 如何使字段多次注入到ZF2中唯一的Form?

我有一个非常复杂的表格,有几个嵌套Fieldset的 s 和Collections。表单的某些部分是恒定的,其他部分是可变的:

BasicSettings EndpointBasicSource(常量部分) EndpointBasicTarget(常量部分) SpecificSettings EndpointType{TYPE}Source(变量部分) EndpointType{TYPE}Target(变量部分)

EndpointBasicSourceandEndpointBasicTarget包含一个,ServerFieldset提供Field server_name. 这意味着:表单至少包含2 server_name Fields。

SpecificSettings取决于EndpintType否,一方或双方可以包含一个服务器Collectionoptions.target_element.type => ServerFieldset),其中最多有5服务器。

这是一个高度简化的模式:

在此处输入图像描述

现在服务器应该是唯一的(在server_name表单中的所有字段中,值可能不会重复出现)。但是如何做到这一点?问题是,它ServerFieldset是通过多个其他Fieldsets/ Collections 注入的,并且唯一性验证需要与server_name Field所有这些 s 相关。

如何解决这个问题并server_name在整个表单中实现唯一性验证?

0 投票
1 回答
62 浏览

zend-form - zend-form 集合不会生成正确的名称

我目前正在使用 zend-expressive,现在我想使用 zend-form 生成一个表单。一切都安装正确。我现在有以下设置:

在我的模板(Twig)中,我有以下代码段:

这很好地显示了表格。现在我的问题。如果我尝试编辑一个类别,我会像这样填充表单:

但现在表单生成了下一个片段:

如您所见,第二个选择元素的名称错误。其他一切都很好,但名称生成。我不知道我是否错过了什么。我真的试图在其他网站上找到一些帮助,但没有解决问题。也许你看到了我的错误,可以帮助我完成这个表格。

提前非常感谢。

0 投票
3 回答
858 浏览

zend-framework2 - zend framework 2/3 集合集自定义属性

从这些问题来看:

Zend framework 2 循环遍历元素集合的元素

如何将参数传递给 Zend 表单集合实例以及如何在 ZF2 中设置自定义字段集标签?

我想没有自定义集合元素的好方法。

例如,有一个像这样的集合:

然后为每个文本元素和/或自动编号的标签定义(此处为当前类)自定义属性,然后输出(只需调用 zend 助手 FormCollection,无需任何自定义视图助手):

我错了吗?

(我之所以这么问是因为我找到了一个很好的解决方案,并且可能有助于发布它)

0 投票
0 回答
105 浏览

zend-framework2 - 如何在嵌套集合中使用一个表单字段集?

我正在创建页面来插入数据,就像一本书一样。我在哪里使用 zend 表单字段集和集合。Fieldset 只有两个字段,标题字段和内容字段。标题和子标题具有相同的内容(字段)。

前任:

注意:这里的索引只是为了显示父子关系。

代码如下:

这是主要形式。

此字段集在 BookPointlForm 的积分集合中调用

这是主要字段集它的内容标题和标题的内容

...