gpt4 book ai didi

drupal - 如何使 Drupal 7 模块用完主题文件夹中的 .tpl.php 模板

转载 作者:行者123 更新时间:2023-12-04 23:30:09 27 4
gpt4 key购买 nike

我为 Drupal 7 创建了一个模块,它有一个 hook_theme 函数,告诉它使用 usertemp.tpl.php 模板。我将模板放在模块文件夹和主题文件夹中。问题是该功能仅从模块文件夹中获取模板,而不是从主题文件夹中获取模板。我已经反复清除缓存并寻找以前的答案,但没有任何帮助。可能是什么问题呢?

我的 hook_theme 代码如下所示:

function usuar_theme() {
return array(
'usuarbuild' => array(
'variables' => array('profilesloaded' => array()),
'template' => 'usertemp',
),
);
}

其余的模块代码是这样的:
function usuar_menu() {
$items['userx'] = array(
'title' => 'User page',
'description' => 'User page',
'page callback' => 'usuar_exe',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}


function usuar_exe($id) {
$ar = array('uid' => $id, 'profilesloaded' => profile2_load_by_user($id));
return theme('usuarbuild', array('collected' => $ar));
}

function theme_usuarbuild($variables) {
return $variables['collected'];
}

最佳答案

这是一个棘手的问题,但是.. 您的主题 Hook 必须与您的模板名称匹配。很奇怪,但是我在本地进行了测试,并且一旦以这种方式设置它就可以工作。所以.. 将您的 hook_theme() 更改为:

function usuar_theme() {
return array(
'usuarbuild' => array(
'variables' => array('profilesloaded' => array()),
'template' => 'usuarbuild',
),
);
}

并将您的 tpl.php 文件更改为 usuarbuild.tpl.php(或将所有内容更改为 usertemp)。之后应该工作。

关于drupal - 如何使 Drupal 7 模块用完主题文件夹中的 .tpl.php 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6244196/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com