Вы можете сделать это с помощью класса 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'));
Для получения дополнительной информации прочитайте документацию