Создать ноду, но редактировать только некоторые поля?

Главные вкладки

Аватар пользователя Bullvar@drupal.org Bullvar@drupal.org 18 сентября 2010 в 13:36

Пользователю надо дать возможность создать ноду, но вот редактировать он сможет потом лишь пару полей.
Использую модуль content_permissions , но при создании ноды тоже показывает лишь азрешенные поля. А если проставить галочки по всем полям - то и редактировать можно все.
Как победить?

Комментарии

Аватар пользователя annya@drupal.org annya@drupal.org 18 сентября 2010 в 14:28

То есть Вам нужно чтобы при создании будет заполнять все поля, а при редактировании некоторые?
Не нужно использовать content_permissions. Используйте hook_form_alter().

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  switch($form_id) {
    case '[тип_контента]_node_form':
      if ($form['#nid']) {//проверяем или форма редактируется, если да, то $form['#nid'] существует
        $form['название_поля']['#access'] = FALSE;// убирает возможность редактирования поля
      }
      break;
  }
}

P.S. Код в действии не проверялся.