我正在尝试模拟默认情况下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从何处提取信息 - 我在后端设置了属性,它们位于属性集中名为“Downloads”的组中,因此它应该可以工作。
谢谢, 迈尔斯