Magento自定义模块创建用于覆盖私有函数中的一行

时间:2018-03-07 18:24:44

标签: php magento

我正在创建一个自定义模块,作为Magento Core中一段代码的修补程序。我希望与之合作的私人功能是

 protected function _prepareExport()

这是我希望使用的这个函数的一部分:

 foreach ($dataRows as $productId => &$productData) {
            foreach ($productData as $storeId => &$dataRow) {
                if ($defaultStoreId != $storeId) {
                    $dataRow[self::COL_SKU]      = null;
                    $dataRow[self::COL_ATTR_SET] = null;
                    $dataRow[self::COL_TYPE]     = null;
                } else {
                    $dataRow[self::COL_STORE] = null;
                    $dataRow += $stockItemRows[$productId];
                }

具体做法是:

 $dataRow += $stockItemRows[$productId];

这是我的自定义模块:

class Gfore_ImportExport_Model_Export_Entity_Product extends 
  Mage_ImportExport_Model_Export_Entity_Product
   {

     protected function _prepareExport()
     {
        $dataRow = array_merge($dataRow,$stockItemRows[$productData]);
     }


}

我的问题是:我可以简单地覆盖这条线吗?或者我需要更具体。

1 个答案:

答案 0 :(得分:0)

解决方案1: -

您是否在自定义模块config.xml文件中使用过?

你的config.xml,标签应该是这样的: -

<models>
      <importexport>
        <class>Gfore_ImportExport_Model</class>
        <resourceModel>importexport_mysql4</resourceModel>
      </importexport>
       <importexport>
                <rewrite>
                    <export_entity_product>Gfore_ImportExport_Model_Export_Entity_Product</export_entity_product>
                </rewrite>
      </importexport>
    </models>

2-在Magento 1.9新订单电子邮件未收到。