1

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

mytheme_preprocess_block(&$vars) {
  $vars['block']->region = 'my_region';
}

由于某种原因,我的 page.tpl.php 中的 $my_region 变量为空。该块具有内容和区域已定义且有效。切换块位置的解决方案是什么?非常感谢!

4

1 回答 1

0

真的需要像这样显示它们吗?

在 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'];

让我知道这是否令人困惑。

于 2012-05-24T18:47:43.943 回答