Magento-如何使用模块在产品详细信息页面中添加新的自定义块

Ram*_*mya 1 php block magento-1.7

我正在做一个magento customaization网站,我需要添加产品addtional属性,如它的类型,版本等.我是magento的新手,如何将新的自定义块添加到产品详细信息页面.我创建了一个模块,我正在使用下面的编码.

应用程序\代码\本地\明智开发\ CompatibleWith \块\ compatible.php

class SmartGrowth_CompatibleWith_Block_CompatibleWith扩展Mage_Catalog_Block_Product_View

{

protected function _prepareLayout()
    {

            //$this->getProduct()->setName($this->getProduct()->getPrice());
            $this->getProduct()->setName($this->getProduct()->getShortDescription());


      parent::_prepareLayout();
  } 


}
Run Code Online (Sandbox Code Playgroud)

我在_prepareLayout()中使用了以下编码,但它似乎重复了5次块,并且块出现的位置是probs

$block = $this->getLayout()->createBlock(
'Mage_Core_Block_Template',
'my_block_name_here',
array('template' => 'catalog/product/compatiblewith.phtml')
);
$this->getLayout()->getBlock('content')->append($block);
Run Code Online (Sandbox Code Playgroud)

请帮助我如何做到这一点,我是magento的新手,任何帮助将不胜感激.

And*_*rew 5

不需要在代码中添加块,它应该使用配置XML文件来完成.

为您的模块创建XML配置(有关此内容的大量教程).

检查catalog.xml(app/design/frontend/base/default/layout /)

<catalog_product_view translate="label">
 ....
</catalog_product_view>
Run Code Online (Sandbox Code Playgroud)

这是设置块以在产品视图页面上显示的位置.您可以使用自己的模块XML文件对此进行修改,如下所示:

<catalog_product_view translate="label">
    <reference name="content">
        <block type="compatiblewith/compatible" name="my.block" template="compatiblewith/compatible/template.phtml" />
    </reference>
</catalog_product_view>
Run Code Online (Sandbox Code Playgroud)

这将在产品视图页面的内容区域内显示您的自定义块.

如果块名为Compatible.php,则块的命名也会出错.该类应为SmartGrowth_CompatibleWith_Block_Compatible