【问题标题】:Changing block region on runtime (Drupal 6)在运行时更改块区域(Drupal 6)
【发布时间】:2012-05-24 14:35:11
【问题描述】:

我的侧边栏有一堆不会在移动主题中呈现的块。但我需要其中一些在移动主题的自定义区域中呈现。 试过了:

mytheme_preprocess_block(&$vars) {
  $vars['block']->region = 'my_region';
}
由于某种原因,我的 page.tpl.php 中的

$my_region 变量为空。该块具有内容和区域已定义且有效。 切换块位置的解决方案是什么?非常感谢!

【问题讨论】:

    标签: drupal drupal-6


    【解决方案1】:

    真的需要这样显示吗?

    使用自定义模块和 my_region 中的 hook_block() 添加块。

    根据模块本身的移动主题条件,使用内部自定义 php 代码显示所有块内容。

    如果块是视图类型,请使用以下代码打印视图内容:

    $view = views_get_view('视图名称'); $view->set_display('block_1'); //或视图中的块ID $view_block = $view->execute_display('block_1', array()); //如果第二个参数中有任何参数,则传递任何参数 打印 $view_block['content'];

    如果只是块类型,使用:

    $block = module_invoke('module_name["block" for blocks created from web interface]', 'block', 'view', 'delta'); 打印 $block['content'];

    如果这令人困惑,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多