Во-первых, я успешно реализовал Multiple Select коробочку с опцией группы, основанные на обеспечении, обеспечивающего группу опций структурированную, как это:CakePHP 3 - Форма Select Option Group - Несколько Флажки
$options = [
'Group 1' => [
'Value 1' => 'Label 1',
'Value 2' => 'Label 2'
],
'Group 2' => [
'Value 3' => 'Label 3'
]
];
echo $this->Form->select('field', $options);
Это прямой от Поваренной книги по адресу: http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-select-pickers
Он отлично работает и делает выбор в точности так, как должен. Моя проблема в том, что я хотел бы изменить отображение на несколько флажков. Для того, чтобы сделать это, я переключился код на:
echo $this->Form->input('field', [
'multiple' => 'checkbox',
'options' => $options
]);
Когда я делаю это, дисплей заканчивает тем, что один флажок, со всеми вариантами, перечисленных вне рядом с ним.
В поисках StackOverflow, я обнаружил следующее: How to create multiple checkboxes grouped by fieldsets in Cakephp 3
Большинство, кажется, указывают, что функциональность не входит в торт, и что вам нужно, чтобы построить его по своему усмотрению. Существует один комментарий по первому вопросу, который ссылается на поваренную книгу и что она конкретно заявляет:
Если вы хотите сгенерировать выбор с помощью групп opt, просто передайте данные в иерархическом формате. Это работает также с несколькими флажками и переключателями, но вместо optgroups обматывает элементы в полях:
Никто, кажется, не обращается к комментарию по этому вопросу. Мой вопрос очень прост. Предоставляет ли CakePHP 3 несколько флажков, созданных как указано в документации, или неверна документация, и эта функциональность не включена в ядро? Если ответ заключается в том, что функциональность включена в ядро, в чем трюк, чтобы заставить его работать?
Спасибо!
Последний раз, когда я смотрел на него, документация была неправильно здесь. Надеюсь, что в какой-то момент кто-то реализует функциональность, которую он описывает. –
Грег, спасибо за отзыв. Я успешно реализовал ответ, найденный в связанном вопросе, но не пошел так далеко, как сделать свой собственный виджет, поскольку мне это нужно только в одном месте. Если я сделаю виджет, я обязательно поделюсь им здесь. Тем не менее, было бы неплохо иметь функциональность, описанную в книге, включенной в ядро. – jtesta