【问题标题】:How do I replace the "node view" screen in Drupal 6?如何替换 Drupal 6 中的“节点视图”屏幕?
【发布时间】:2010-06-16 08:47:12
【问题描述】:

对于某些类型的内容,我不需要节点“查看”屏幕/选项卡。
相反,当用户进入 /node/nid 我希望显示节点编辑表单。

关于我如何做到这一点的任何想法?

谢谢,
奥马尔。

【问题讨论】:

  • 我不确定这是个好主意。首先,不是所有用户都可以编辑表单,但可能所有用户都可以看到一个节点(如果匿名用户看不到节点,那么创建站点就没有意义,如果不是在认为可以看到站点的情况下来自有限数量的用户);其次,可能有许多其他选项卡,连同选项卡视图,将不再可访问。
  • 谢谢,但在我正在开发的网站中,在某些情况下确实有意义。

标签: drupal drupal-6


【解决方案1】:

一种方法是使用hook_menu_alter 更改node/[nid] 菜单项并调用您自己的功能。在该函数中,您可以检查节点类型并调用用于显示节点的函数或用于显示节点表单的函数。

【讨论】:

  • 我试过了。我使用 pathauto 将前缀从“node”更改为其他内容(例如“pref”),并实现了 hook_menu_alter 来调用在同一路径呈现编辑表单的函数。 pathauto 设置似乎覆盖了我的 menu_alter,因为我仍然看到视图表单(将我的 menu_alter 更改为“other_pref”可以毫无问题地呈现表单)
  • Pathauto 不会更改内部路径,因此即使将 node/[nid] 更改为 pref/[nid],内部调用的仍然是 node/[nid]。您无需使用hook_menu_alter 更改网址,只需菜单回调即可。
  • 我的错。混合了 hook_menu 和 hook_menu_alter。我正在研究 hook_menu_alter,似乎方向正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多