我有两个块(比如Block1和Block2),我必须在两个块中显示一个块。如果Block2不在那里,条件是Block1将显示在整个站点中。块2将被显示到动态控制的特定页面中,即,当用户将来创建内容时,它们可以控制块2显示。所以我需要显示Block1不存在的Block1。
我正在使用Durpal 7。
注意:我尝试过使用默认的块可见性,但这对我来说也不起作用。
答案 0 :(得分:2)
你可以通过多种方式做到这一点。
在主题的template.php文件中使用template_preprocess_page()。 您需要在页面上打印2个块。 Block1和Block2。 我假设Block1位于region_1,block_2位于region_2,主题名称为mytheme。
在主题的template.php文件中的template_preprocess_page()函数内:
function mytheme_preprocess_page(&$variables)
{
if(isset($variables['page']['region_2']['block2']))
{
hide($variables['page']['region_1']['block1']);
}
}
这样,如果存在Block2,则永远不会打印Block1。
希望它有所帮助,
穆罕默德。