【问题标题】:Magento - Add custom block to existing tab in catalog product edit viewMagento - 将自定义块添加到目录产品编辑视图中的现有选项卡
【发布时间】:2014-07-03 09:53:40
【问题描述】:

我需要在目录产品编辑视图中的图像选项卡顶部添加一些内容。我不想添加新选项卡,我想在现有选项卡中包含一些内容(自定义块)。

我看过很多关于如何添加全新选项卡的教程,但没有看到关于如何编辑现有选项卡的教程。

我已经设法在“core_block_abstract_prepare_layout_after”事件上创建了一个观察者:

<core_block_abstract_prepare_layout_after>
      <observers>
          <edit_images_tab>
              <type>singleton</type>
                  <class>custom_module/observer</class>
                  <method>editImagesTab</method>
          </edit_images_tab>
      </observers>
</core_block_abstract_prepare_layout_after>

并在相同位置删除并重新创建选项卡:

public function editImagesTab(Varien_Event_Observer $observer) {
    $block = $observer->getEvent()->getBlock();

    if ($block instanceof Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs) {
        $block->removeTab('group_10');

        $block->addTabAfter(
            'group_10',
            array(
                'label'     => 'Upload Product Files',
                'content'   => $block->getLayout()->createBlock('adminhtml/catalog_product_helper_form_gallery_content')->toHtml() . 'custom content'
            ),
            'group_9'
        );
    }
}

无论如何,似乎 $block->getLayout()->createBlock('adminhtml/catalog_product_helper_form_gallery_content')->toHtml() 不足以重新创建图像选项卡。

不确定我的方向是否正确。

任何提示将不胜感激。

【问题讨论】:

    标签: magento tabs product


    【解决方案1】:

    我找到了另一种实现目标的方法,这就是我所做的。

    我已经以这种方式覆盖了“Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery”类的 toHtml() 方法:

    class Custom_Module_Block_Adminhtml_Catalog_Product_Helper_Form_Gallery 
        extends Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery {
    
        public function toHtml() {
    
            $myBlock = Mage::getSingleton('core/layout')->createBlock('custom_module/custom_block')->toHtml();
    
            return $myBlock . parent::toHtml();
        }
    }
    

    并将其添加到 config.xml 文件中:

    <global>
        <blocks>
            <adminhtml>
                <rewrite>
                   <catalog_product_helper_form_gallery>Custom_Module_Block_Adminhtml_Catalog_Product_Helper_Form_Gallery</catalog_product_helper_form_gallery>
                </rewrite>
            </adminhtml>
        </blocks>
    </global>
    

    不确定这是否是最好的方法,但它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      相关资源
      最近更新 更多