gpt4 book ai didi

Drupal theme() 函数和自定义模板

转载 作者:行者123 更新时间:2023-12-04 06:42:42 26 4
gpt4 key购买 nike

我有一个从 Web 服务调用返回数据的自定义模块。它来自一个 XML 响应,我将其转换为一个数组。

一旦我有了数组,我会:

$output = theme('search_srs_results', $data);
return $output;

但我得到一个白屏。没有 apache/php/watchdog 错误。

我以前在另一个模块中做过这个,没有任何困难。我的主题钩子(Hook)已定义,并指向模板文件,传递 $data 参数。如果我在返回 $output 之前转储它,则它为 NULL。

$data 在主题化之前肯定有一个填充数组。

如果我做主题('item_list',$data);,它会呈现,没有白屏。

我尝试在 hook_theme 和 theme() 上再次阅读文档,但我似乎没有做错任何事情。

以下是主题功能:
/**
* Implementation of hook_theme()
*/

function srs_finder_theme() {
return array(
'search_srs_results' => array(
'template' => 'srs-finder-results',
'arguments' => array('data' => null),
),
);
}

/**
* Implementation of hook_preprocess()
*/

function srs_finder_preprocess_search_srs_results(&$vars) {
$data = $vars['data'];
}

少了什么东西?

最佳答案

我不明白你为什么需要 hook_preprocess()完全发挥作用。 $data srs-finder-results.tpl.php 应该自动可用.那是因为你在调用 theme('src_src_results', $data) 中传递了这个变量。以及您已声明 hook_theme() 中有 1 个参数的事实.
srs-finder-results.tpl.php文件应位于 src_finder模块文件夹。您需要为此实现代码! (或者,正如 nikit 上面评论的那样,提供一个 theme_search_srs_results 函数。在这种情况下,您需要删除 template 数组条目)

[注意:如果模块的其他用户想要覆盖这个主题模板,他们总是可以提供自己的 srs-finder-results.tpl.php 实现。在事件主题的主题文件夹中。]

关于Drupal theme() 函数和自定义模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056497/

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