Відповіді:
Якщо я розумію ваше запитання, я думаю, що ви можете використовувати спеціальний модуль (у цьому прикладі назва модуля 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
повинно бути ваше ім’я поля.
Модуль « Поле дозволів» дозволяє встановлювати дозволи на рівні поля:
Ви можете використовувати ці параметри для включення дозволу на рольове поле.
Коли дозволи включені, доступ до цього поля за замовчуванням відхиляється, а явні дозволи повинні надаватись належним користувачам ролей зі сторінки адміністрування дозволів. З іншого боку, коли ці параметри вимкнено, дозволи на місцях передаються у спадок із перегляду вмісту та / або дозволу редагування. Наприклад, користувачі, яким дозволено переглядати певний вузол, також зможуть переглядати це поле тощо.
Поле дозволи
Я б скористався mock_form_alter () і встановив ['#access']
властивість FALSE
так, як відповідь від @ moon.watcher.
Якщо ви перебуваєте в Drupal 6, вам знадобиться модуль для цього. У Drupal 7 ви можете зателефонувати на гачок_form_alter () зі свого шаблону.
Це випадок використання модуля підтримки форми правил - https://www.drupal.org/project/rules_forms .
Особливості включають:
- Активуйте події для створення, валідації та подання форми за формою.
- Націлюйте на окремі елементи форми або всю форму в умовах та дії. Маніпулюйте атрибутами елемента форми, наприклад заголовка, опису, ваги тощо.
- Підтвердити значення елементів форми під час перевірки форми.
- Встановити помилки форми, коли перевірка на основі правил не вдається.
- Перенаправляйте користувачів на іншу сторінку після перегляду або надсилання форми.
- Вивчіть атрибути елементів у активних формах за допомогою інструмента перевірки елементів.