根据客户要求定制或修改magento模板对于不熟悉magento架构的人来说是非常困难的一件事。你可能也有看到在模板中到处都能看见通过调用下面这行代码来显示某个block:
<?php $this->getChildHtml() ?>
可是有你却发现有时候这个调用是可行的,有时候是没有作用,有时候它还会报错。其实这是由于xml layout配置引起的。这边就不把问题复杂化。事实上你还可以通过下面的代码来调用:
<?php
echo
$this
->getLayout()->getBlock(
'top.search'
)->toHtml() ?>