젠드 프레임 워크 2의 새로 출시 된 버전으로 two new form elements were added; DateSelect
및 MonthSelect
. 전 세 선택을 추가 전, 사용하고 싶습니다; 일, 월, 년. 그러나, 내가 원하는 출력을 형식화하는 데 문제가 있습니다 - 그리고 이것에 대한 문서가 없습니다!젠드 프레임 워크 2 DateSelect/MonthSelect formatting
내가 (this page에서 촬영)이 같은 내 양식에 양식 요소를 추가하고 : 출력
$this->add(array(
'type' => 'Zend\Form\Element\DateSelect',
'name' => 'birthDate',
'options' => array(
'label' => 'Date',
'create_empty_option' => true,
'day_attributes' => array(
'data-placeholder' => 'Day',
'style' => 'width: 20%',
),
'month_attributes' => array(
'data-placeholder' => 'Month',
'style' => 'width: 20%',
),
'year_attributes' => array(
'data-placeholder' => 'Year',
'style' => 'width: 20%',
)
)
));
,이 같은 일을 오전 :
echo $this->formDateSelect($form->get('birthDate'));
것은이 때문이다 I 돈 셀렉트 형식을 제어하는 방법을 알지 못합니다. 예를 들어, 현재이 형식으로 출력됩니다 : [month] [day], [year]
. 나는 두 가지를 바꾸고 싶다. 먼저, 나는 하루와 월을 바꾸고 싶습니다. 둘째로 나는 쉼표를 없애고 싶습니다.
도우미는 IntlDateFormatter
클래스를 사용하여 선택 항목의 서식을 지정합니다.
echo $this->formDateSelect($form->get('birthDate'), IntlDateFormatter::SHORT);
은 모든 상수를 시도하는 데, 난 아직도 내가 원하는 형식을 얻을 수 없습니다 : 소스 코드에서,이 같은
__invoke()
[link to source code]를 호출 할 때 날짜 유형에 대한
predefined constants를 사용할 수있는 것으로 나타났습니다.
세 선택 항목에 대한 getter가 있지만 각 항목에 formSelect
보기 도우미를 사용하는 것으로 나타났습니다. 데이터 채우기가 새보기 도우미에 있으므로 비어있는 선택 항목이 렌더링됩니다. 따라서 선택 항목을 개별적으로 사용하는 목적을 거의 상쇄합니다. 그렇다면 정규 선택을 사용할 수도 있습니다.
내 셀렉트 형식이 어떻게 조정되는지 더 잘 알 수있는 사람이 있습니까? 너무 많은 번거 로움없이 가능합니까? 아니면 최대한의 유연성을 위해 3 개의 일반 선택을 사용해야합니까?
필자는 자신의 구성에서 로케일을 사용하고 있다고 가정 했으므로이를 생략했습니다. 로케일을 변경해도 항상 원하는 것은 아니지만 (예 : 내 국가에서 내가 좋아하지 않는 형식을 제공함). 그러나, 나는 나의 목표 언어에 대해 형식화가 정확히 내가 원하는 방식으로 운이 좋았다! 나는 이렇게했다 :'echo $ this-> formDateSelect ($ this-> form-> get ('birthDate'), IntlDateFormatter :: LONG, 'ro_RO'))'. 답변 해 주셔서 대단히 감사합니다. 매우 감사드립니다! – Andy0708