1

「追加情報」タブで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 に情報を取得する場所を指定するにはどうすればよいですか - バックエンドで属性を設定しました。それらは属性セットの「ダウンロード」というグループにあるため、機能するはずです。

ありがとう、マイルズ

4

0 に答える 0