gpt4 book ai didi

templates - Drupal 用户配置文件页面中的自定义菜单选项卡

转载 作者:行者123 更新时间:2023-12-02 05:12:38 24 4
gpt4 key购买 nike

我想在用户配置文件页面顶部的 [view] [edit] [files] ... 菜单链接旁边添加一个菜单项。当用户点击它时,它的行为应该和其他的一样,因为它不只是启动到一个新页面,而且他们点击的菜单项(我们称之为“Funky Button”)变成灰色,用户仍然在用户资料区。

我创建了一个如下所示的钩子(Hook):

function my_module_funky() {
// TODO: what to do?
}


function my_module_menu() {

$items['user/%user/funky'] = array(
'title' => t('Funky Button'),
'page callback' => 'my_module_funky',
'page arguments' => array(1),
'access callback' => TRUE,
'access arguments' => array('access funky button'),
'type' => MENU_LOCAL_TASK,
);

return $items;
}

所以上面的代码片段添加了按钮——但我不知道如何让它像 View 和编辑按钮显示它们的内容一样显示。谢谢!

最佳答案

您的回调需要返回包含要显示的页面的 HTML 代码的字符串,例如:

function my_module_funky($user){
drupal_set_title('Funky page');
return 'This is the $user value: <pre>'.var_export($user, true).'</pre>';
}

$user 来自 hook_menu'page arguments' => array(1) 行将 %user 通配符的值作为页面回调的第一个参数传输的实现。


如果它是一个复杂的页面,您可能希望使用模板文件创建主题功能,这样您就可以将页面的代码存储在 .tpl.php 文件中,这样更易​​于维护(尤其是如果您的模块创建许多这样的自定义页面)。

如果您的模块变得流行或其他模块可以预处理页面以添加/修改变量,这也有利于允许主题通过提供他们自己的 .tpl.php 文件版本来自定义页面输出。

关于templates - Drupal 用户配置文件页面中的自定义菜单选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4192846/

24 4 0