Как отобразить форму с помощью CakePHP, в которой есть переключатели? - PullRequest
0 голосов
/ 17 ноября 2011

Я новичок в CakePHP, и мне нужна помощь в настройке формы в CakePHP View.

У меня Array в следующей форме:

Array ( [1] => B002I0HJZO [2] => B002I0HJzz [3] => B002I0HJccccccccc )

Мне нужна форма с 3 переключателями (в данном случае), которая переходит к пользовательскому методу test

1 Ответ

2 голосов
/ 17 ноября 2011

Вы можете сделать это с помощью класса FormHelper.

Пример:

<?php
$options = array(
  1 => 'B002I0HJZO',
  2 => 'B002I0HJzz',
  3 => 'B002I0HJccccccccc',
);

echo $this->Form->input('option_id', array('options' => $options, 'type' => 'radio'));

Ключ должен указать «тип». CakePHP по умолчанию обычно использует элемент select.

В приведенном выше примере не используется автоматическая функция CakePHP. Если вы извлекаете опции в вашем контроллере, используя find('list'), и массив передается в представление в форме множественного числа имени поля без суффикса "_id" (например, если поле имеет значение "option_id", вы должны сделать $this->set('options', $this->Option->find('list'); при условии, что «Option» - это название модели), вам не нужно указывать «options», просто «type»

Чтобы ответить на вторую часть вашего вопроса, чтобы опубликовать другое действие (например, «тест»), вам нужно указать это действие при создании формы.

Пример:

<?php
$this->Form->create('Product', array('action' => 'test'));

Для получения дополнительной информации прочитайте документацию

...