如何在drupal节点表单中检测其编辑或添加表单?
有没有办法检测正在查看的节点表单是“编辑”还是“添加新节点”表单?
Is there a way to detect if the node form being viewed is the "edit" or "add new node" form?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
检测到哪里?在 hook_alter 中?在模板中?其他地方?
一般来说,方法是获取 $node 对象,并查看它的 nid 字段是否已设置。如果是的话,那就是编辑。
Detect where? In a hook_alter? In a template? Somewhere else?
In general, the approach would be to get ahold of the $node object, and see if it's nid field is set. If it is, it's an edit.
如果您不想加载整个节点对象,也可以使用 URL。
当是新节点添加时,则在 URL 中 arg(0) 将是“node”,arg(1) 将是“add”,arg(2) 将是“content_type_name”,而在查看节点的情况下 arg(0 ) 将是节点,arg(1) 将是 nid(即数字)。
这只是另一种检测方法。
Also you can make use of URL, if you don't want to load entire node object.
When it is new node addition, then in the URL arg(0) will be "node", arg(1) will be "add", arg(2) will be "content_type_name" whereas in the case of node viewing arg(0) will be node and arg(1) will be nid(i.e Numeric).
This is just an alternative way to detect.
检查 drupal 的这些答案。 stackexchange.com
例如
:或使用 arg() 函数,如前所述。
check these answers from drupal.stackexchange.com
for example:
or use the arg() function as previously has been indicated.