Настройки с разделением даты ввода помощником формы

#cakephp

#cakephp

Вопрос:

Если я сделаю это:

 $this->Form->input('birth');
  

Помощник формы сгенерирует 3 выбранных параметра (день, месяц и год). Я хочу, чтобы у выбора месяца была другая ширина, но когда я определяю настройки, они выполняются для всех 3.

Ответ №1:

Должно получиться что-то вроде этого:

 echo $this->Form->month('birthday', array('class'=>'form-control', 'empty'=>'Month', 'style'=>'width:33%'));

echo $this->Form->day('birthday', array('class'=>'form-control', 'empty'=>'Day', 'style'=>'width:25%'));

echo $this->Form->year('User.birthday', 1930, date('Y'), array('class'=>'form-control', 'empty'=>'Year', 'style'=>'width:35%')); 
  

Ответ №2:

Все это есть в книгах…

http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#creating-form-elements

Расширьте параметры вашего ввода. Должно получиться что-то вроде:

 <?php
echo $this->Form->input('birth', 
array( 
'label' => 'Date of birth', 
'dateFormat' => 'M',
));
?>
  

Ответ №3:

ваши вопросы — это простая проблема CSS

Если вы используете FireFox, установите FireBug в качестве плагина https://getfirebug.com/downloads

После установки Firebug щелкните правой кнопкой мыши и выберите Проверить элементы с помощью Firebug. Смотрите рисунок ниже введите описание изображения здесь

и вы увидите идентификатор выбранного параметра («месяц»). Мой случай «MatchPlayDateMonth»

введите описание изображения здесь

Просто переопределите ширину CSS в CakeGeneric.css. Находится в разделе «webroot / css /» для чего-то вроде этого

 #MatchPlayDateMonth
{
   width:400px;
}