drupal - 为页面创建模板

标签 drupal drupal-7 drupal-hooks

假设我有 hook_menu() 的实现:

function example_menu(){
    $items = array();

    $items['admin/recent-completions'] = array(
        'title' => 'Recent Completions (Last 100)',
        'page callback' => 'example_recent',
        'access callback' => user_access('Administer content'),
        'type' => MENU_NORMAL_ITEM,
        'weight' => -50
    );

    return $items;
}

如何为页面回调制作模板而不是返回字符串?

最佳答案

您需要实现 hook_theme 函数并指定模板文件。

然后在您的页面回调中,您必须调用您的主题函数。就像是...

function example_theme($existing, $type, $theme, $path) {
  return array(
    'recent_completion' => array(
      'render element' => 'elements', 
      'template' => 'recent-completions',
    ), 
  ...
}

function example_recent() {
  // Do some logic and processing here
  $render_array = array( /* array with parameters for the template */ );
  return theme('recent_completion', $render_array);
}

关于drupal - 为页面创建模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7713220/

相关文章:

javascript - 在 Drupal 模块的条件字段中加载页面之前,如何隐藏 HTML 元素?

drupal - 允许非站点管理员通过管理员菜单访问清除缓存,Drupal 6

drupal - 当原始图像文件不存在时,如何提供一个默认的图像文件供ImageCache使用和处理?

在非 Drupal 脚本中无法访问 Drupal 中设置的 PHP cookie

drupal - hook_menu() - 意外行为(较长的路径问题)

php - Drupal 为企业做好准备了吗?

Drupal 7,只有登录的访客才能下载

ajax - Drupal 7 - 如何使用 AJAX 更改多个下拉菜单?

php - Drupal的模块钩子(Hook)调用从哪里开始?