我有侧边栏,有一堆不会在移动主题中呈现的块。但我需要在移动主题的自定义区域中呈现其中一些。 尝试:
mytheme_preprocess_block(&$vars) {
$vars['block']->region = 'my_region';
}
由于某种原因,我的page.tpl.php中的$ my_region变量为空。该块具有内容和区域,已定义且有效。
切换块位置的解决方案是什么?非常感谢!
答案 0 :(得分:0)
是否真的需要这样显示它们?
在my_region中使用自定义模块和hook_block()添加块。
根据模块本身的移动主题条件,使用自定义php代码显示所有块内容。
如果块是视图类型,请使用以下代码打印视图内容:
$view = views_get_view('view name'); $view->set_display('block_1'); //or the block id in the view $view_block = $view->execute_display('block_1', array()); //pass any arguments if any in the second argument print $view_block['content'];
如果它只是block类型,请使用:
$block = module_invoke('module_name["block" for blocks created from web interface]', 'block', 'view', 'delta'); print $block['content'];
如果这令人困惑,请告诉我。