在使用drupal过程中,有时候会需要判断一个node节点是新建状态还是编辑的状态,以至于更方便我们的逻辑的操作。
以下给出程序例子:
在hook_form的使用方法:
if(!isset($node->nid)|| isset($node->is_new)){
foreach(array('status','promote','sticky')as $key){
if(!isset($node->$key)){
$node->$key =(int) in_array($key, $node_options);
}
}
global $user;
$node->uid = $user->uid;
$node->created = REQUEST_TIME;
}
在hook_form_alter中使用
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.
}
}
使用if(!isset($node->nid)|| isset($node->is_new))就可以进行node的判断了。