簡體   English   中英

Magento Custom Module創建以覆蓋私有函數中的行

[英]Magento Custom Module creation to overwrite a line in a private function

我正在創建一個自定義模塊,作為對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:-

您是否在自定義模塊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中,新訂單電子郵件未收到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM