귀하의 질문에 두 부분이 있습니다. 먼저 필드 이름과 필드 이름 앞에 접두어가 붙습니다.
접두사를 제거하려면 2.1
인 경우 @ m2mdas에서 설명한 트릭을 사용하십시오. 2.1
이 아닌 경우 createNamed
을 사용하여 양식을 만들고 양식을 만들 때 빈 이름을 지정하는 것이 가장 좋습니다. 이런 식으로 뭔가 :
$this->formFactory->createNamed(new CustomType(), '', $data, $optionsArray);
가
2.0.x
에서이 양식을 테스트 없지만 갖는 빈 이름 필드의 접두사를 제거하는 것이
2.1
에서 확인할 수 있습니다 마십시오.
여기에서 formFactory
은 FormFactory
서비스 (@form.factory
)의 인스턴스입니다.
필드의 경우 사용자 정의 이름을 사용하여 Symfony에게 속성을 매핑해야하는 위치를 지정할 수 있습니다. 이를 위해서는 property_path
옵션을 사용하십시오. 이것은 symfony가 기본 경로 대신이 경로에 속성을 매핑하도록 지시합니다. 다음은 유형을 형성 당신이 그것을 정의 할 때 당신이 그것을 사용하는 방법 : 심포니는 POST 데이터에서 필드 a
을받은 때 사용
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('a', 'text', array(
'property_path' => 'title',
));
$builder->add('b', 'text', array(
'property_path' => 'content',
));
}
은, 그것은 재산 title
와 그 반대를에 매핑됩니다 양식이 렌더링됩니다. 개체에는 setTitle
메서드와 setContent
메서드가 필요합니다.
희망이 도움이됩니다. 나도 몰라
감사합니다,
매트
. 내가 찾은 가장 가까운 사용자 지정 [param 변환기] (http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/converters.html)를 만드는 것입니다. –