젠드 양식이 HTML을 정의 할 수 있습니다,
먼저 https://docs.zendframework.com/zend-form/collections/#creating-fieldsets를 참조하십시오. (다른 방법은 아닙니다.)
예를 들어 ParentContainer
의 클래스를 정의 할 수 있습니다. 여기에는 DependentFeature
필드 집합이 포함됩니다. 각 DependentFeature
Fieldset에는 Select 요소와 IndependentFeature
Fieldsets의 Collection이 있습니다. 각 IndependentFeature
Fielset에는 하나의 Select 요소가 있습니다.
결과 HTML은 다음과 같이 나왔다 : 즉
dependentFeatures[0][dependentFeature]
dependentFeatures[0][independentFeatures][0][independentFeature]
dependentFeatures[0][independentFeatures][1][independentFeature]
dependentFeatures[0][independentFeatures][2][independentFeature]
dependentFeatures[1][dependentFeature]
dependentFeatures[1][independentFeatures][0][independentFeature]
dependentFeatures[1][independentFeatures][1][independentFeature]
dependentFeatures[1][independentFeatures][2][independentFeature]
는, 둥지, 요소를 컬렉션을 정의하고, 젠드 당신을위한 HTML 작업을 할 수 있습니다.
/**
* @Annotation\Name("parentContainer")
* @Annotation\Hydrator({"type":"Zend\Hydrator\ClassMethods", "options": {"underscoreSeparatedKeys": false}})
*/
class ParentContainer
{
/**
* @Annotation\ComposedObject({
* "target_object":"DependentFeature",
* "is_collection":"true",
* "options":{"count":2}
* });
*
* @var DependentFeature[]
*/
private $dependentFeatures;
}
/**
* @Annotation\Name("dependentFeature")
* @Annotation\Hydrator({"type":"Zend\Hydrator\ClassMethods", "options": {"underscoreSeparatedKeys": false}})
* @Annotation\Instance("DependentFeature")
* @Annotation\Type("Zend\Form\Fieldset")
*/
class DependentFeature
{
/**
* @Annotation\Type("Zend\Form\Element\Select")
* @Annotation\Options({"label":"Dependent Feature:"})
*/
private $dependentFeature;
/**
*
* @Annotation\ComposedObject({
* "target_object":"IndependentFeature",
* "is_collection":"true",
* "options":{"count":3}
* });
*
* @var IndependentFeature[]
*/
private $independentFeatures;
}
/**
* *
* @Annotation\Name("independentFeature")
* @Annotation\Hydrator({"type":"Zend\Hydrator\ClassMethods", "options": {"underscoreSeparatedKeys": false}})
* @Annotation\Instance("IndependentFeature")
* @Annotation\Type("Zend\Form\Fieldset")
*/
class IndependentFeature
{
/**
* @Annotation\Type("Zend\Form\Element\Number")
* @Annotation\Options({"label":"Independent Feature:"})
*/
private $independentFeature;
}
은과 같이 양식을 작성 : 이런 일을 할 수 있는지 젠드 양식 주석을 사용하여
당신이 주석을 사용하지 않는 경우
$form = (new AnnotationBuilder())->createForm(ParentContainer::class);
을, 당신은 아직도 내가 언급 한 바와을 구축 할 수 있습니다 위 -> 중첩하여 필드 집합의 컬렉션 당신에게 필드 집합의 컬렉션.
정확한 도메인 요구 사항에 따라 요소의 이름과 중첩 정도가 달라집니다.
시도해 보셨습니까? 우리는 당신을 위해 당신의 코드를 쓰지 않을 것이고, 문제가 조금 좁혀 질 때까지 우리는 도울 수 없습니다. – Feathercrown
ZF2에서 ZF2의 fieldset에 사용할 수있는 문서는 위의 동료가 말한대로 무엇을 시도했는지 묻기 전에 어디에서 검색 했습니까? – Hooli
zf2 컬렉션을 통해 생성하려고했지만 미안하지만 아무것도 결실이 없다. 필드 'independent_features'는 인덱스 방식으로 'dependent_features'에 직접 종속됩니다. 즉, 'independent_features [__ KEY __] []'은 'dependent_features [__ KEY__]'에 직접 종속됩니다. 그래서 collection 요소를 통해 이런 종류의 형식을 생성하는 방법을 알지 못했습니다. 제발 도와주세요. –