"Добавить еще пункт" для ограниченного числа значений
У меня есть сценарий, где в лидера команды введите членов своей команды с их именем и идентификатором электронной почты. Я хочу ограничить размер команды максимум 10 членами команды. Я подумываю использовать модуль Field Collection для сбора значений имен и адресов электронной почты членов команды. Я обнаружил, что этот модуль предоставляет кнопку "Добавить еще элемент", только если я выбрал "Неограниченный" в поле "Количество значений" для этой коллекции. Если я выберу "Количество значений" до 10, он покажет 10 раз "Имя" и "Электронная почта". То, что я хочу, это то, что он должен показывать 1 набор полей "Имя" и "Электронная почта", рядом с ним должна быть кнопка "Добавить еще", которая будет отображать следующий набор полей "Имя" и "Электронная почта" и так далее, пока счетчик не достигнет 10(в моем случае).
Может ли кто-нибудь помочь мне с этим или предложить мне другой модуль. Заранее спасибо..
3 ответа
Нашел решение моего вопроса. Выберите "Неограниченно" в поле "Количество значений" для набора полей и записайте код ниже в hook_form_alter. Это показывает "Add more"
10 раз.
if($form_id == 'form_id') {
if (isset($form['field_collection_name']['und']['#max_delta']) && $form['field_collection_name']['und']['#max_delta'] >= 10) {
unset($form['field_collection_name']['und']['add_more']);
}
}
Похоже, это идеальный сценарий для модуля Webform Add More.
Если вам действительно не нужны типы контента для этого, безусловно, рекомендую использовать веб-форму. Вам может потребоваться установить модуль Webform как зависимость для этого, что позволит вам быстро создавать формы, которые вы хотите для этой цели.
Другое решение заключается в использовании модуля Custom Add Another ( https://www.drupal.org/project/custom_add_another для настройки текста кнопки. Преимущество заключается в том, что вы можете иметь различный текст для кнопки для каждого поля в пакете.