У меня возникла проблема с этой документацией:
Cakephp3 Cookbook – Form – Создание Select Pickers Я попробовал «несколько флажков»:
$options = [ 'Group 1' => [ 'Value 1' => 'Label 1', 'Value 2' => 'Label 2' ], 'Group 2' => [ 'Value 3' => 'Label 3' ] ]; echo $this->Form->select('field', $options, ['multiple' => 'checkbox']);
но выход был ошибкой:
Notice (8): Array to string conversion [CORE/src/View/StringTemplate.php, line 238]
это как сказать мне, что значение массива должно быть строкой, а не массивом, но есть ли способ сделать эту работу? Пожалуйста, помогите мне решить эту проблему?
Как уже упоминалось в комментариях @Holt, то, что вы там делаете, просто не поддерживается. Если вы считаете, что это может быть полезно, вы можете предложить его как усовершенствование в GitHub.
Теперь вы можете сделать это на полпути вручную, например,
foreach ($options as $group => $groupOptions) { $legend = $this->Html->tag('legend', $group); $checkboxes = $this->Form->select($group, $groupOptions, [ 'name' => 'field', 'multiple' => 'checkbox' ]); echo $this->Html->tag('fieldset', $legend . $checkboxes); }
или, для лучшего повторного использования, создайте настраиваемый виджет, который может обрабатывать такие структуры.
См. « Кулинарная книга»> «Вид»> «Помощники»> «Форма»> «Добавить пользовательские виджеты»