Zend Framework 2'nin yeni yayımlanan sürümü ile two new form elements were added; DateSelect
ve MonthSelect
. Ben üç seçme ekleyen eskiyi kullanmak istiyorum; gün, ay ve yıl. Ancak, çıktıyı nasıl istediğimi biçimlendirirken sorun yaşıyorum - ve bunun için bir belge yok!Zend Framework 2 DateSelect/MonthSelect biçimlendirme
I (this page alınan) böyle benim forma form öğesi ekliyorum: çıkışı için
$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%',
)
)
));
, böyle yapıyorum:
echo $this->formDateSelect($form->get('birthDate'));
şey olmasıdır ı don Seçimlerin biçimlendirilme şeklini nasıl kontrol edeceğini bilmiyorum. Örneğin, şu anda bu formda çıktılar: [month] [day], [year]
. Ben iki şeyi değiştirmek istiyorum; İlk olarak, gün ve ayı değiştirmek istiyorum ve ikinci olarak, virgülden kurtulmak istiyorum.
Yardımcılar, seçimleri biçimlendirmek için IntlDateFormatter
sınıfını kullanır.
echo $this->formDateSelect($form->get('birthDate'), IntlDateFormatter::SHORT);
sabitler tüm güvenilir olması, ben hala istediğiniz biçimi alamayan: Kaynak kodunda, böyle,
__invoke()
[link to source code] çağrılırken tarih türü için
predefined constants kullanabilirsiniz fark ettim.
Üç seçen için de alıcılar olduğunu fark ettim, ancak her biri ile formSelect
görünüm yardımcısını kullanarak, veri topluluğu yeni görünüm yardımcıları içinde olduğundan boş seçimler işleniyor. Bu yüzden, seçimleri tek tek kullanmanın amacını çok fazla yener; o zaman ben de düzenli seçimleri kullanabilirim.
Seçimlerimin nasıl biçimlendirildiği konusunda daha fazla nasıl denetim sahibi olabileceğime dair herhangi bir fikrim var mı? Çok fazla güçlük çekmeden mümkün mü, yoksa maksimum esneklik için üç tane düzenli seçim yapmalı mıyım?
Sadece yapılandırmamdan yerel ayarı kullandığımı farzediyordum, böylece onu dışarıda bıraktım. Yerel ayarı değiştirmek, bana istediğimi her zaman vermez (örneğin, ülkem için bana sevmediğim bir format verir). Ancak, hedef dili için biçimlendirmenin tam olarak istediğim gibi olduğu için şanslıydım! Bunu yaptım: echo $ this-> formDateSelect ($ this-> form-> get ('birthDate'), IntlDateFormatter :: LONG, 'ro_RO'); '. Cevabınız için çok teşekkür ederim - çok takdir ediyor! – Andy0708