使用表单时,我很难使用$ op变量。似乎$ op变量通常是node_api的一部分(我还没有真正使用过),但是表单中的$ op变量怎么样?
在编辑节点与创建节点时,如何使表单更改应用?
答案 0 :(得分:2)
hook_form_alter()
中没有$ op变量。从创建表单中识别节点编辑的标准方法是查看节点是否已经具有nid(节点ID)。如果它有一个,你知道它是一个已经存在的,否则它仍然在被创建过程中:
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
}
}
}