簡體   English   中英

Magento覆蓋核心塊

[英]Magento Override Core Block

我正在嘗試覆蓋位於app / code / core / Mage / Catalog / Block / Navigation.php的Mage_Catalog_Block_Navigation類

我創建了這三個文件:

1.-應用程序/代碼/本地/全局/目錄/塊/Navigation.php

2.-應用程序/代碼/本地/全局/目錄/etc/config.xml

3.-app / etc / modules / Global_All.xml

碼:

Global_All.xml

<?xml version="1.0"?>
<config>
  <modules>
    <Global_Catalog>
      <active>true</active>
      <codePool>local</codePool>
    </Global_Catalog>
  </modules>
</config>

config.xml中

<?xml version="1.0"?>
<config>
  <modules>
    <Global_Catalog>
      <version>1.0</version>
    </Global_Catalog>
  </modules>
  <global>
    <blocks>
      <catalog>
        <rewrite>
          <navigation>Global_Catalog_Block_Navigation</navigation>
        </rewrite>
      </catalog>
    </blocks>
  </global>
</config>

Navigation.php

class Global_Catalog_Block_Navigation extends Mage_Catalog_Block_Navigation 
{

   protected function _renderCategoryMenuItemHtml(...){
     .......rewriting code for this method.......

   }

}

我一直在嘗試覆蓋此方法,但是我不能,有人可以指導我嗎? 也許檢查一些我還沒有注意到的錯字,或者我錯過了什么?

謝謝,

嘗試<navigation>Mage_Catalog_Block_Navigation</navigation>並將您的Naviation.php重命名為

class Global_Catalog_Block_Navigation extends Mage_Catalog_Block_Navigation 
{

   protected function _renderCategoryMenuItemHtml(...){
     .......rewriting code for this method.......

   }

}

最后,將module.xml更改為

<modules>
    <Mage_Catalog>
      <active>true</active>
      <codePool>local</codePool>
    </Mage_Catalog>
</modules>

好。 所以問題是我試圖覆蓋Magento的核心文件。 當我第一次提出問題時,我正在創建一個模塊,而不是覆蓋現有模塊。 因此,如果您想以正確的方式覆蓋Magento文件,對於您的同事來說,這就是您的做法。 很簡單。

我試圖覆蓋位於的Mage_Catalog_Block_Navigation

應用程序/代碼/核心/法師/目錄/座/ Navigation.php

我需要做的就是創建相同的根目錄和文件夾,盡管它們位於LOCAL文件夾中。 話雖如此,這將是我覆蓋課程的途徑。

應用程序/代碼/本地/法師/目錄/座/ Navigation.php

注意本地而不是核心。 盡管我試圖覆蓋該功能,但Navigation.php基本上是相同的核心文件(復制和粘貼)

   function protected function _renderCategoryMenuItemHtml(...)

在我的newley創建的文件中,將返回另一個與核心文件不同的語句。

祝好運。

暫無
暫無

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

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