我创建了一个返回一些文本的模块,目的是可以在主题模板文件中呈现。看起来这应该是直截了当的,但我会被绊倒。到目前为止,我已将我的尝试基于this StackOverflow post,并且我已在我的模块中创建了以下功能:
function daily_hours_theme() {
$items = array(
'daily_hours_text_content' => array(
'render element' => 'element',
)
);
return $items;
}
function theme_daily_hours_text_content($vars) {
return daily_hours_get_text();
}
function daily_hours_text_content_render() {
$build = array(
'#theme' => 'daily_hours_text_content',
'#module' => 'daily_hours',
'content' => daily_hours_get_text(),
);
return render($build);
}
function daily_hours_get_text($day = null) {
// Logic to get correct text content and store in $hours
return $hours;
}
我一直在尝试使用我的主题文件中的以下内容呈现文本:
print drupal_render($daily_hours_text_content_render);
和
print drupal_render($daily_hours_text_content);
但没有运气。如果我直接调用print theme('daily_hours_text_content')
,文本会呈现。如果我在调用print drupal_render($render_array);
-
$render_array = array(
'#theme' => 'daily_hours_text_content'
);
所以看起来主题功能正在运行,但不是渲染,或者我在模板文件中没有正确使用drupal_render
功能。谁能告诉我我在这里失踪了什么?