Некоторым из вас это может показаться очевидным, но я действительно изо всех сил пытаюсь найти прямой ответ. Обычно я гуглил, а также читал руководство CakePHP и API, чтобы найти ответ на следующий вопрос:
При создании ввода следующий код создает следующие выходные данные:
// in the view
echo $this->Form->input('notes');
// resultant html
<div class="input textarea">
<label for="notes">Notes</label>
<textarea id="notes" rows="5" name="notes"></textarea>
</div>
Примечание: это одинаково для большинства типов ввода; и поскольку он последователен, он отлично подходит для форматирования.
Однако с флажком:
//In the view
echo $this->Form->input('ticket_required',
['type' => 'checkbox']
);
// resultant HTML
<div class="input checkbox">
<input type="hidden" value="0" name="ticket_required">
<label for="ticket-required">
<input id="ticket-required" type="checkbox" value="1" name="ticket_required">
Ticket Required</label>
</div>
[Примечание: я понимаю необходимость/желание скрытого поля]
Теперь... конечно не может ли быть необычным требование просто использовать тот же подход к формату, что и любой другой стандартный ввод?
Мой вопрос - как заставить CakePHP создать элемент флажка следующим образом:
// desired HTML
<div class="input checkbox">
<input type="hidden" value="0" name="ticket_required">
<label for="ticket-required">
Ticket Required</label>
<input id="ticket-required" type="checkbox" value="1" name="ticket_required">
</div>
Чтобы было ясно: порядок видимых элементов такой же, как и у других сгенерированных элементов (метка перед вводом, и все они заключены в обертку div).
Обратите внимание... я пробовал вариант 'nestedInput' => false
. Это фактически полностью избавляет от ввода флажка из div.
Я не могу понять, почему это не делается таким образом... но даже если бы это было так, я не могу понять, почему это не является очевидным вопросом для документации.
Ну ладно .. надеюсь, кто-то может мне помочь здесь.
Заранее спасибо.
Рик