在Magento Modern主题中添加选项卡“列表”

时间:2012-08-10 11:20:20

标签: php magento

我正在尝试模拟默认情况下Magento在“其他信息”标签中执行的列表视图:

Default layout

我创建了提取标签信息所需的\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”的组中,因此它应该可以工作。

谢谢, 迈尔斯

0 个答案:

没有答案