如何在drupal节点表单中检测其编辑或添加表单?

| 有没有一种方法可以检测正在查看的节点形式是“编辑”还是“添加新节点”形式?     
已邀请:
检测到哪里?在hook_alter中?在模板中?别的地方? 通常,方法是获取$ node对象,并查看是否设置了nid字段。如果是,则为编辑。     
如果您不想加载整个节点对象,也可以使用URL。 当是新节点添加时,URL中的arg(0)将为\“ node \”,arg(1)将为\“ add \”,arg(2)将为\“ content_type_name \”查看arg(0)的节点的值为,而arg(1)的值为nid(即,数值)。 这只是检测的另一种方法。     
从drupal.stackexchange.com检查这些答案 例如:
function mymodule_form_node_form_alter(&$form, &$form_state) {
  $node = $form_state[\'node\'];

  if (!isset($node->nid) || isset($node->is_new)) {
    // This is a new node.
  }
  else {
    // This is not a new node.
  }
}
或使用前面已指出的arg()函数。     
if ($node->is_new) {do_something_for_new_node();}
    

要回复问题请先登录注册