Drupal 6:如何添加指向 hook_menu() 的链接?
我有自己的模块,并且实现了一个 hook_menu
,我希望将一个菜单项重定向(菜单必须保持活动状态)到现有的 Web 表单页面,该页面是: ?q=node/add /网络表格。
$items['adminQuestion/create'] = array(
'title' => t('Crear Cuestionarios'),
'page callback' => "What i put here?",
'page arguments' => array('form_questionnaires'),
'access arguments' => array('access questionnaires'),
'type' => MENU_NORMAL_ITEM,
);
I have my own module and I implemented a hook_menu
, I want that one menu-item redirect (The menu has to stay active) to an existing webform page, this page is: ?q=node/add/webform.
$items['adminQuestion/create'] = array(
'title' => t('Crear Cuestionarios'),
'page callback' => "What i put here?",
'page arguments' => array('form_questionnaires'),
'access arguments' => array('access questionnaires'),
'type' => MENU_NORMAL_ITEM,
);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用
drupal_goto
将重定向到的路径作为参数:另请注意, $items['adminQuestions'] 是不好的做法:URL 和路径永远不应该区分大小写:事实上:在 Drupal CamelCase 中,在任何代码中都强烈建议不要这样做。
Use
drupal_goto
with the path to redirect to as parameter:Also note that $items['adminQuestions'] is bad practice: URLS and paths should never be case-sensitive: in fact: in Drupal CamelCase is highly discouraged in any code.
如果您的意思是通过重定向进行HTTP重定向,则可以简单地使用
drupal_goto('path/to/webform')
,但它没有任何意义,因为您可以直接使用Webform路径。 IMO 你需要的是一个类似drupal_get_form()
的 Webform API,它是node_load()
,所以 webform 将被加载到你的菜单路径中:的 Webform 实现hook_theme() 负责对要形成的节点进行主题化。或者,如果可能的话,您可以只更改网络表单路径。
If you mean HTTP redirect by redirect, you can simply use
drupal_goto('path/to/webform')
but it make no sense since you can use the webform path directly. IMO what you need is adrupal_get_form()
-like API for Webform which isnode_load()
, so webform will be loaded in your menu path:Webform implementation of
hook_theme()
takes care of theming the node to form. Alternatively you can just change webform path, if possible in your case.答案如下:
其中 webform 是 node/add/webform 的别名。
谢谢
Here is the answer:
where webform is an alias of node/add/webform.
Thanks
阅读评论,在我看来,您想创建 /node/add/webform 的路径别名。您不需要实现 hook_menu。
您在 /admin/build/path/add 处创建别名(确保启用了路径模块)。
Reading the comments, it sounds to me like you want to create a path alias to /node/add/webform. You don't need to implement hook_menu.
You create aliases at /admin/build/path/add (make sure you have the path module enabled).
这是我为使“添加节点页面”成为选项卡组的一部分所做的操作
Here's what I did to make an 'add node page' part of a tab group