问题标签 [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.
zend-framework2 - 如何在 ZF2 中装饰集合中的字段集元素?
在我当前的项目中,我使用嵌套Zend\Form\Fieldset
的 s 和Zend\Form\Collection
s,它们提供了一种非常舒适的方式来将复杂的对象结构映射到表单,以便从表单输入中获取完整的对象(准备保存)。
问题:我有一个Fieldset
FooFieldset
包含Element
foo_element
一个Label
“foo元素”(代码见下文)并且需要使用它两次:1。作为一个单一的Fieldset
;2. 在一个Collection
。首先,我希望显示它的元素;其次,我想禁用标签(或者可能更改它们)。(我也想在第二种情况下用另一种方式格式化,但现在最重要的是标签。)
如何根据上下文装饰Zend\Form\Element
aZend\Form\Fieldset
中的s?Zend\Form\Element\Collection
代码
解决方法 1
可以使用另一个,例如(sometnig like )Fieldset
的子类并在那里调整(和其他设置)。FooFieldst
FooFieldsetForUsingInCollection extends FooFieldst
Label
解决方法 2
也可以访问视图脚本中Collection
的Element
s 并在那里操作它们(如这里所示)。但我真的不喜欢这个解决方案,因为那时Fieldset
它在多个地方定义。如果Collection
元素的数量是可变的,它还需要进一步的努力。
zend-framework2 - 如何将 MultiCheckbox 的元素绑定到 ZF2 中的对象?
我正在使用嵌套Zend\Form\Fieldset
的 s 和Zend\Form\Collection
s,它们提供了一种非常舒适的方式来将复杂的对象结构映射到表单,以便从表单输入中获取完整的对象(准备保存)。
我现在要添加到表单中的元素应该代表可能的协议列表。在数据库中,它是一个带有列的简单表,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(...)
-- 但这是行不通的。
php - Zend Forms (ZF1) 如何在 DD 中的复选框后添加额外的 HTML
UPD:已解决 - 添加了额外的装饰器。
我需要有以下结果:
我需要在复选框之后使用 html 标签包裹“一些文本”,但在 /DD 之前(不是之后)!
我目前的代码如下:
所以它产生:
而且我不知道如何在复选框之后注入额外的 HTML ......但在 DD 里面
zend-framework2 - 如何使字段多次注入到ZF2中唯一的Form?
我有一个非常复杂的表格,有几个嵌套Fieldset
的 s 和Collection
s。表单的某些部分是恒定的,其他部分是可变的:
BasicSettings EndpointBasicSource(常量部分) EndpointBasicTarget(常量部分) SpecificSettings EndpointType{TYPE}Source(变量部分) EndpointType{TYPE}Target(变量部分)
EndpointBasicSource
andEndpointBasicTarget
包含一个,ServerFieldset
提供Field
server_name
. 这意味着:表单至少包含2
server_name
Field
s。
在SpecificSettings
取决于EndpintType
否,一方或双方可以包含一个服务器Collection
(options.target_element.type => ServerFieldset
),其中最多有5
服务器。
这是一个高度简化的模式:
现在服务器应该是唯一的(在server_name
表单中的所有字段中,值可能不会重复出现)。但是如何做到这一点?问题是,它ServerFieldset
是通过多个其他Fieldset
s/ Collection
s 注入的,并且唯一性验证需要与server_name
Field
所有这些 s 相关。
如何解决这个问题并server_name
在整个表单中实现唯一性验证?
zend-form - zend-form 集合不会生成正确的名称
我目前正在使用 zend-expressive,现在我想使用 zend-form 生成一个表单。一切都安装正确。我现在有以下设置:
在我的模板(Twig)中,我有以下代码段:
这很好地显示了表格。现在我的问题。如果我尝试编辑一个类别,我会像这样填充表单:
但现在表单生成了下一个片段:
如您所见,第二个选择元素的名称错误。其他一切都很好,但名称生成。我不知道我是否错过了什么。我真的试图在其他网站上找到一些帮助,但没有解决问题。也许你看到了我的错误,可以帮助我完成这个表格。
提前非常感谢。
zend-framework2 - zend framework 2/3 集合集自定义属性
从这些问题来看:
如何将参数传递给 Zend 表单集合实例以及如何在 ZF2 中设置自定义字段集标签?
我想没有自定义集合元素的好方法。
例如,有一个像这样的集合:
然后为每个文本元素和/或自动编号的标签定义(此处为当前类)自定义属性,然后输出(只需调用 zend 助手 FormCollection,无需任何自定义视图助手):
我错了吗?
(我之所以这么问是因为我找到了一个很好的解决方案,并且可能有助于发布它)
zend-framework2 - 如何在嵌套集合中使用一个表单字段集?
我正在创建页面来插入数据,就像一本书一样。我在哪里使用 zend 表单字段集和集合。Fieldset 只有两个字段,标题字段和内容字段。标题和子标题具有相同的内容(字段)。
前任:
注意:这里的索引只是为了显示父子关系。
代码如下:
这是主要形式。
此字段集在 BookPointlForm 的积分集合中调用
这是主要字段集它的内容标题和标题的内容
...