Cakephp - имена флажков - PullRequest
       1

Cakephp - имена флажков

0 голосов
/ 15 февраля 2012

В настоящее время мне удалось создать флажок. Массив, который я настроил, выглядит следующим образом:

$emailName = $this->User->find('list', array(
    'fields' => array('User.username', 'User.email')
    ));

Вывод выглядит следующим образом:

array
  'admin' => string 'asd@asd.asd' (length=11)
  'test' => string 'test@test.test' (length=14)
  'Floo' => string 'XXXX@gmail.com' (length=16)

Я пытаюсь сделать так, чтобы флажок отображал имя пользователя вместо адреса электронной почты пользователя в view.ctp.

Я попытался использовать следующий код в view.ctp

<?php echo $this->Form->input('Address_list.['.$emailName['username'].']', array(
    'type' => 'select',
    'multiple' => 'checkbox',
    'options' => $emailName['email']
    )); ?>

Однако, похоже, это не работает. Есть идеи?

1 Ответ

3 голосов
/ 15 февраля 2012

Вы неправильно форматируете поле формы для списка флажков.Попробуйте изменить его следующим образом:

echo $this->Form->input('Address_list', array(
    'multiple' => 'checkbox',
    'options' => $emailName, 
));

Однако это вернет значение имени пользователя в зависимости от выбора электронной почты, которую выберет пользователь.Создает такую ​​форму:

<label for="Address_list">Address List</label>
<input type="hidden" id="Address_list" value="" name="data[Address_list]"/>
<div class="checkbox"><input type="checkbox" id="AddressListAdmin" value="admin" 
   name="data[Address_list][]"/><label for="AddressListAdmin">asd@example.com</label></div>
<div class="checkbox"><input type="checkbox" id="AddressListTest" value="test"
   name="data[Address_list][]"/><label for="AddressListTest">test@example.com</label></div>
<div class="checkbox"><input type="checkbox" id="AddressListFloo" value="Floo" 
   name="data[Address_list][]"/><label for="AddressListFloo">XXX@example.com</label></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...