Drupal从主题模板中的模块添加渲染元素

时间:2015-10-16 21:35:50

标签: drupal drupal-7 drupal-theming

我创建了一个返回一些文本的模块,目的是可以在主题模板文件中呈现。看起来这应该是直截了当的,但我会被绊倒。到目前为止,我已将我的尝试基于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功能。谁能告诉我我在这里失踪了什么?

0 个答案:

没有答案