2011-03-08 12 views
5

Tworzę formularz karty kredytowej w Drupal. Potrzebuję pola wyboru daty, w którym użytkownicy mogą wybrać datę wygaśnięcia karty kredytowej, która składa się tylko z miesiąca i roku - bez dnia.Tworzenie pola daty z tylko miesiącem i rokiem - Drupal

Formularz Drupal #type "data" tworzy opcję wyboru daty, która ma opcję day-month-year. Potrzebuję tylko month-year. Jakaś pomoc?

Odpowiedz

3

Wybierz dwa pola i wypełnij pola miesiącem i rokiem!

'#type' => 'wybierz', '#options' => tablica ( '1' => 'styczeń' '2' => 'lutego' . . . '12' => 'grudzień'),

sam sposób w ostatnich latach. Możesz wygenerować tablicę roku za pomocą prostego kodu php, a następnie użyć go w opcji, zamiast podawać wszystkie lata ręcznie!

+0

Dzięki za sugestię. Jest to z pewnością użyteczne rozwiązanie. – Sparky

9

Korzystanie z modułu Data API (część Date module), można zrobić coś takiego ....

<?php 
$form['payment_expirationDate'] = array(
    '#type' => 'date_select', 
    '#title' => t('Expiration Date:'), 
    '#date_format' => 'm-Y', 
    '#default_value' => $expirationDate, 
    '#date_year_range' => '-1:+10', 
    '#required' => TRUE, 
    '#date_label_position' => 'within' 
); 
?> 

Typ date_select da Ci wybrać elementy formularza pole dla danej dziedzinie. A klucz tablicy #date_format pozwala na użycie ciągu znaków w formacie PHP do kontrolowania, jakie pola wyboru pojawiają się i co się w nich znajduje.

2

Właśnie zrobiłem to w Drupal 7. Wystarczy zainstalować i włączyć moduł Data, dodać pole Date do rodzaju zawartości, a następnie podczas edycji ustawień w "Atrybutach daty do pobrania", po prostu zaznacz Rok i Miesiąc. Następnie, gdy użytkownik tworzy nową instancję tego typu, otrzymają po prostu 2 listy rozwijane; jeden za miesiąc i jeden za rok.

Aby je ładnie wyświetlić, najpierw przejdź do menu Ustawienia> Ustawienia daty i godziny, a następnie utwórz nowy format, korzystając z formatowania PHP Date, np. "F Y" da ci coś w stylu "Kwiecień 2012". Utwórz nowy typ daty, który korzysta z tego formatu, a następnie wróć do ustawień wyświetlania rodzaju treści i zmodyfikuj nowe pole daty, aby użyć nowego typu daty.