我需要检查我的 3 列布局上的任何侧边栏是否已呈现为空,并且想在侧边栏中添加一个自定义块,只有当它为空时。
无论如何确定侧边栏是否包含块?
好吧,可以肯定的一种方法是为孩子查询特定的块,例如:
Mage::getSingleton('core/layout')->getBlock('right')->getSortedChildren();
就我们而言,“正确”是我记得的右侧边栏。布局 xml 中的块名称。
更新:实际上还有:
Mage::getSingleton('core/layout')->getBlock('right')->countChildren();
返回其中有多少的整数。
如果您想查看那里是否有任何内容(因为块可以有输出或没有),您可以在块中查询 html:
Mage::getSingleton('core/layout')->getBlock('right')->getChildHtml();