Здравствуйте, можно ли сделать так чтобы пользователь мог добавлять только одно значения для поля, но при этом была возможность добавлять через hook_node_presave несколько?
Ансеттить поля формы создания ноды опасно, равно как и делать их тип hidden или value. В таком случае велика вероятность, что даже при редактировании существующей ноды поля могут заполниться значениями по умолчанию. А вот аксесс = фолс - в этом плане безопасен. Хотя если вы протестировали и у вас всё работает корректно, то ничего страшного
По поводу того, что отображается - не готов сейчас точно ответить, нет времени протестировать. Но в теории - должно сработать.
Попробуйте кеш почистить, ну и цикл с условиями проверить, чтоб правильно $cardinality заполнялись.
Комментарии
Вобщем сделал следующим образом - поставил ограничение в 2 значения и убрал из формы лишний экземпляр поля:
<?php
$form['имя_поля'][LANGUAGE_NONE]['#cardinality'] = 1;
unset($form['имя_поля'][LANGUAGE_NONE][1]);
unset($form['имя_поля'][LANGUAGE_NONE][0]['_weight']);
?>
Тогда уж:
<?php
$form['имя_поля'][LANGUAGE_NONE][$cardinality]['#access'] = FALSE;
?>
В таком случае отображается виджет множественного поля
Ансеттить поля формы создания ноды опасно, равно как и делать их тип hidden или value. В таком случае велика вероятность, что даже при редактировании существующей ноды поля могут заполниться значениями по умолчанию. А вот аксесс = фолс - в этом плане безопасен. Хотя если вы протестировали и у вас всё работает корректно, то ничего страшного
Спасибо за совет, учтёмс.
++
Да, там с валидацией беда будет.
По поводу того, что отображается - не готов сейчас точно ответить, нет времени протестировать. Но в теории - должно сработать.
Попробуйте кеш почистить, ну и цикл с условиями проверить, чтоб правильно $cardinality заполнялись.