Symfony2 양식 입력에 클래스 속성을 설정하는 방법
설정 방법HTML
class
양식에 귀속됨.<input>
사용FormBuilder
에Symfony2
?
이와 같은 것:
->add('birthdate', 'date',array(
'input' => 'datetime',
'widget' => 'single_text',
'attr' => array(
'class' => 'calendar'
)
))
{{ form_widget(form.birthdate) }}
나는 이것을 원해요.input
속성이 있는 필드class
달력으로 설정
잔가지 템플릿에서 이 작업을 수행할 수 있습니다.
{{ form_widget(form.birthdate, { 'attr': {'class': 'calendar'} }) }}
출처: http://symfony.com/doc/current/book/forms.html#rendering-each-field-by-hand
FormBuilder를 사용하여 이 작업을 수행할 수 있습니다.FormBuilder의 배열에 추가합니다.
'attr'=> array('class'=>'span2')
컨트롤러 내부에서 속성을 설정하고 싶지만 부정확한 부분이 많은 경우 Acyra의 답변이 올바른 방향으로 유도됩니다.
예, FormBuilder를 사용하여 직접 수행할 수 있습니다.attr
옵션 배열에 대한 속성(2.1 버전의 경우 여기에, 2.0 버전의 경우 여기에 도입됨)은 다음과 같습니다.
->add('birthdate', 'date',array(
'input' => 'datetime',
'widget' => 'single_text',
'attr' => array('class'=>'calendar')
))
기능이 손상되었다는 것은 사실이 아닙니다.그것은 매우 잘 작동합니다!
Symfony2가 HTML을 적용한다는 것은 사실이 아닙니다.class
(적어도 2.1 버전부터) 라벨과 입력 모두에 대한 속성입니다.
게다가, 그 이후로.attr
속성은 배열 자체이므로 필드에 대해 렌더링할 HTML 속성을 전달할 수 있습니다.HTML5를 통과하고 싶다면 매우 도움이 됩니다.data-
특성.
양식 클래스의 옵션에 추가할 수 있습니다.
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\MyEntity',
'attr' => array(
'class' => 'form-horizontal'
)
));
}
{{ form_widget(form.content, { 'attr': {'class': 'tinyMCE', 'data-theme': 'advanced'} }) }}
다음과 같이:
{{ form_widget(form.description, { 'attr': {'class': 'form-control', 'rows': '5', 'style': 'resize:none;'} }) }}
위의 예와 같이 Twig 또는 FormClass에서 이 작업을 수행할 수 있습니다.그러나 양식에서 어떤 클래스를 받아야 하는지 컨트롤러에서 결정하는 것이 좋습니다.일반적으로 컨트롤러에 논리가 많지 않다는 것을 명심하십시오!
$form = $this->createForm(ContactForm::class, null, [
'attr' => [
'class' => 'my_contact_form'
]
]);
지정된 필드의 HTML 위젯을 렌더링합니다.전체 양식 또는 필드 집합에 이 옵션을 적용하면 각 기본 양식 행이 렌더링됩니다.
{# render a field row, but display a label with text "foo" #} {{ form_row(form.name, {'label': 'foo'}) }}
form_row()의 두 번째 인수는 변수 배열입니다.Symfony에서 제공되는 템플릿은 위의 예와 같이 레이블만 재정의할 수 있습니다.
변수 인수에 대한 자세한 내용은 "양식 변수에 대한 자세한 내용"을 참조하십시오.
언급URL : https://stackoverflow.com/questions/6734821/how-to-set-a-class-attribute-to-a-symfony2-form-input
'programing' 카테고리의 다른 글
테이블 사킬라를 만들 수 없습니다."address" "외부 키 제약 조건이 잘못 형성되었습니다." (0) | 2023.08.21 |
---|---|
phpMyadmin에서 외부 키 열에 대한 인덱스를 삭제할 수 있습니다. (0) | 2023.08.21 |
어레이에 추가 j쿼리 (0) | 2023.08.21 |
JS에서 모든 Firefox 버전 검색 (0) | 2023.08.21 |
'div'의 알려진 속성이 아니므로 'target'에 바인딩할 수 없습니다. (0) | 2023.08.21 |