【问题标题】:The correct way to print a drupal block assigned to a region on node templete in drupal 7在drupal 7中打印分配给节点模板上区域的drupal块的正确方法
【发布时间】:2013-01-15 14:06:28
【问题描述】:

打印分配给节点模板ex(node.tpl.php)上区域的drupal块的正确方法是什么

【问题讨论】:

    标签: php drupal drupal-7 drupal-theming


    【解决方案1】:

    您可以使用module_invoke($module, $hook) 这样做。

    $module:模块的名称(不带 .module 扩展名)。

    $hook:要调用的钩子的名称。

    代码sn-p:

    $block = module_invoke('module_name', 'block_view', 'block_delta');
    print $block['content'];
    

    使用以下代码sn-p:

    function block_print_html($module, $block_id)
    {
      $block_html = "";
      $block = block_load($module, $block_id);
      $block_content = _block_render_blocks(array($block));
      $block_build = _block_get_renderable_array($block_content);
      return = drupal_render($build);
    }
    

    【讨论】:

    • 尽量不要使用 module_invoke() 函数,因为它不使用 block.tpl.php 文件,也不会打印出你的标题。您的第二个功能是更好的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    相关资源
    最近更新 更多