2016-03-03 87 views
-1

我只想知道是否可以在本地代碼池(即\ app \ code \ local \ Mage \ Catalog \ Block \ Product.php)中創建產品塊我的自定義模塊只放置這個單個文件?覆蓋Magento中沒有自定義模塊的塊核心文件

如果是這樣,這個本地代碼池將會阻塞一個呼叫還是一個核心呼叫?如果它是本地的,請告訴我爲什麼。

回答

0

如果您將代碼/核心文件複製到代碼/本地存儲庫,則核心文件將被本地文件覆蓋。

這是因爲包括路徑順序加載系統文件中的應用程序指定的/ Mage.php:

$paths = array(); 
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local'; 
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community'; 
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core'; 
$paths[] = BP . DS . 'lib'; 

所以你的情況,系統會搜索Product.php按照以下順序:

  1. 應用程序/代碼/本地/法師/目錄/座/ Product.php
  2. 應用程序/代碼/社區/法師/目錄/座/ Product.php
  3. 應用程序/代碼/核心/法師/目錄/塊/ Product.php
  4. 的lib /法師/目錄/座/ Product.php

如果系統無法找到任何文件,它會拋出一個錯誤。

+1

好的........感謝您的回覆和這麼好的解釋。 –