我正在尝试在“附加信息”选项卡中模拟 Magento 默认执行的列表视图:
我已经创建了\app\code\core\Mage\Catalog\Block\Product\View\Downloads.php
提取选项卡信息所需的文件:
<?php
class Mage_Catalog_Block_Product_View_Downloads extends Mage_Core_Block_Template
{
protected $_list;
public function __construct()
{
parent::__construct();
$this->setTemplate('catalog/product/view/downloads.phtml');
}
public function getChildHtmlList()
{
if (is_null($this->_list)) {
$this->_list = array();
foreach ($this->getSortedChildren() as $name) {
$block = $this->getLayout()->getBlock($name);
if (!$block) {
Mage::exception(Mage::helper('catalog')->__('Invalid block: %s.', $name));
}
$this->_list[] = $block->toHtml();
}
}
return $this->_list;
}
}
我还创建了模板文件来显示信息\app\design\frontend\default\themename\template\catalog\product\view\downloads.phtml
:
<?php foreach ($this->getChildHtmlList() as $_html): ?>
<?php echo $_html ?>
<?php endforeach; ?>
并将 XML 添加到catalogue.xml
文件中:
<action method="addTab" translate="title" module="catalog"><alias>downloads</alias><title>Downloads</title><block>catalog/product_view_downloads</block><template>catalog/product/view/downloads.phtml</template></action>
这应该给我一个“下载”选项卡,其中包含与“附加信息”选项卡相同的列表视图,但唉,事实并非如此。
我如何告诉 Magento 从哪里提取信息 - 我已经在后端设置了我的属性,它们位于属性集中一个名为“下载”的组中,因此它应该可以工作。
谢谢,迈尔斯