Ответы:
Если я понимаю ваш вопрос, я думаю, что вы можете использовать пользовательский модуль (в данном примере это имя модуля test_remove_field
) и включить следующий код:
function test_remove_field_form_alter(&$form, &$form_state) {
if (arg(0) == 'node' && arg(1) == 'add') {
$form['field_test']['#access'] = 0;
}
}
Примечание: помните, что это field_test
должно быть ваше соответствующее имя поля.
Модуль Полевые разрешения позволяет вам устанавливать разрешения на уровне поля:
Вы можете использовать эти параметры для включения разрешения на основе ролей для поля.
Когда разрешения включены, доступ к этому полю по умолчанию запрещен, и для соответствующих ролей пользователей на странице администрирования разрешений должны быть предоставлены явные разрешения. С другой стороны, когда эти параметры отключены, разрешения полей наследуются от просмотра содержимого и / или прав редактирования. Например, пользователи, которым разрешено просматривать определенный узел, также смогут просматривать это поле и т. Д.
Полевые разрешения
Я бы использовал hook_form_alter () и установил бы ['#access']
свойство так FALSE
же, как ответ @ moon.watcher.
Если вы находитесь в Drupal 6, вам понадобится модуль для этого. В Drupal 7 вы можете вызывать hook_form_alter () из вашего шаблона.
Это пример использования модуля поддержки формы правил - https://www.drupal.org/project/rules_forms .
Особенности включают в себя:
- Активируйте события для создания, проверки и отправки форм по форме.
- Предназначайтесь для отдельных элементов формы или всей формы в условиях и действиях. Управляйте атрибутами элемента формы, такими как заголовок, описание, вес и т. Д.
- Проверяйте значения элементов формы во время проверки формы.
- Устанавливать ошибки формы при сбое проверки на основе правил.
- Перенаправляйте пользователей на другую страницу при просмотре или отправке формы.
- Проверьте атрибуты элементов в активных формах с помощью инструмента проверки элементов.