如何解决如何在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();}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。