переменная $ op для form_alter - PullRequest
1 голос
/ 04 марта 2010

Мне трудно использовать переменную $ op при работе с формами.Кажется, что переменная $ op, как правило, является частью node_api (которую я на самом деле не использовал), но как насчет переменной $ op в изменении формы?

Как я могу применить применение изменения формы, когдаузел редактируется или создан?

1 Ответ

2 голосов
/ 04 марта 2010

В переменной hook_form_alter() нет переменной $ op. Стандартный способ отличить редактирование узла от формы создания - посмотреть, есть ли у узла уже nid (идентификатор узла). Если он есть, вы знаете, что он уже существует, в противном случае он все еще находится в процессе создания:

function yourModule_form_alter(&$form, &$form_state, $form_id) {
  // Is this a node edit/create form at all?
  if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id) {
    // Yes, is the node an already existing one?
    if (isset($form['#node']->nid)) {
      // Yes, existing node, add manipulation for node edit form
    }
    else {
      // No, new node, add manipulation for node create form
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...