Пользователю надо дать возможность создать ноду, но вот редактировать он сможет потом лишь пару полей.
Использую модуль content_permissions , но при создании ноды тоже показывает лишь азрешенные поля. А если проставить галочки по всем полям - то и редактировать можно все.
Как победить?
Комментарии
То есть Вам нужно чтобы при создании будет заполнять все поля, а при редактировании некоторые?
Не нужно использовать content_permissions. Используйте hook_form_alter().
switch($form_id) {
case '[тип_контента]_node_form':
if ($form['#nid']) {//проверяем или форма редактируется, если да, то $form['#nid'] существует
$form['название_поля']['#access'] = FALSE;// убирает возможность редактирования поля
}
break;
}
}
P.S. Код в действии не проверялся.
[deleted]
А как сделать так, чтобы одним ролям было так, как вы подсказали, а другие - полностью могли редактировать?
Распечатайте переменную $user и посмотрите что в ней находится, перед этим определив global $user
Очень помогло.
Где взять переменную $user и как её распечатать?
Почитайте api.drupal.org про переменную $user и handook на drupal.org по девелопменту