我的侧边栏有一堆不会在移动主题中呈现的块。但我需要其中一些在移动主题的自定义区域中呈现。试过:
mytheme_preprocess_block(&$vars) {
$vars['block']->region = 'my_region';
}
由于某种原因,我的 page.tpl.php 中的 $my_region 变量为空。该块具有内容和区域已定义且有效。切换块位置的解决方案是什么?非常感谢!
真的需要像这样显示它们吗?
在 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'];
让我知道这是否令人困惑。