Вопрос по Forms API

Главные вкладки

Аватар пользователя ajevgen ajevgen 18 ноября 2010 в 11:10

Добрый день!

Создавая форму через Forms API, а точнее поле типа "date" столкнулся со следующими проблемами:
1) когда использую следующий код:

<?php
$form
['date'] = array(
        
'#type' => 'date',
        
'#title' => 'Дата',
);
?>

Выводит 3 списка: Год, Месяц и День, по-умолчанию стоит текущая дата.

2) когда использую следующий код:

<?php
$form
['date'] = array(
        
'#type' => 'date',
        
'#title' => 'Дата',
        
'#default_value' => array(
            
'day' => '',
            
'month' => '',
            
'year' => ''
        
),
);
?>

Изменений не происходит, все также как и в первом случае.

Вопрос: как сделать, чтобы по-умолчанию эти списки были пусты и порядок был День, Месяц и Год, а не наоборот?

Спасибо.

Комментарии

Аватар пользователя ajevgen ajevgen 18 ноября 2010 в 13:43

"Goodboy" wrote:

Порядок День-Месяц-Год определяется настройками дат сайта ( variable_get('date_format_short') )

Спасибо за совет.

Решено.
Порядок День-Месяц-Год сделал изменив date_format_short, а значение по-умолчанию сделал пустым, через темизацию форм в template.php, добавив в начало массивов пустые значения.

<?php
function mytheme_form($form) {
    
array_unshift($form['date']['day']['#options'], '');
    
array_unshift($form['date']['month']['#options'], '');
    
array_unshift($form['date']['year']['#options'], '');
    
$output .= drupal_render($form);
    return 
$output;
}
?>