2010-07-16 48 views
3

我試圖覆蓋Mage_Catalog_Model_Layer_Filter_Category。 在SYSTEM.LOG我得到一個警告:無法覆蓋Magento中的核心模型

警告:包括(Mycomp_Catalog_Model_Layer_Filter_Category.php):未能打開流:在/ var/WWW/Magento的/包括/ src目錄/ Varien_Autoload沒有這樣的文件或目錄(include_path ='/ var/www/magento/includes/src:。:/ usr/share/php:/ usr/share /打開'Mycomp_Catalog_Model_Layer_Filter_Category.php'失敗。梨')在/var/www/magento/includes/src/Varien_Autoload.php在線93

我在做什麼錯了?

Mycomp /目錄的/ etc/config.xml中:

<?xml version="1.0"?> 
<config> 
<modules> 
    <Mycomp_Catalog> 
     <version>0.1.0</version> 
    </Mycomp_Catalog> 
</modules> 
<global> 
    <models> 
     <catalog> 
      <rewrite>      
       <layer_filter_category>Mycomp_Catalog_Model_Layer_Filter_Category</layer_filter_category> 
      </rewrite> 
     </catalog> 
    </models> 
</global> 

Mycomp /目錄/型號/層/過濾/ Category.php:

class Mycomp_Catalog_Model_Layer_Filter_Category extends Mage_Catalog_Model_Layer_Filter_Category 
{ 

} 

應用的/ etc/modules/Mycomp_All.xml:

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

回答

2

這些類型的問題notriously難以通過論壇進行調試。這裏有一個帶有工作覆蓋的模塊(至少,它適用於我1.4 GB的安裝)與你的不同,看看有什麼不同,或者只是嘗試安裝在你的安裝,如果它不工作,你知道有一個問題在別處。

http://alanstorm.com/testbed/Mycomp.tar.gz

+0

感謝您的幫助。我試過你的模塊,我得到了同樣的錯誤。當我刪除部分它的作品。 – pablo 2010-07-17 10:30:01

+0

您的模塊使用全新安裝。我看到你評論了部分,所以不需要它。我仍然不明白爲什麼你的模塊在我之前的安裝中不起作用。謝謝。 – pablo 2010-07-17 18:25:16

+0

我認爲可能是這種情況(這就是我發佈工作模塊的原因)。你之前的安裝要麼是1.安裝了一個自定義模塊,它會干擾事物,或者2.如果核心或lib文件發生了變化,這會干擾事物。使用diff工具比較兩個來源可以幫助您隔離發生的事情。你自動加載的文件(包括(Mycomp_Catalog_Model_Layer_Filter_Category.php)表明你的自動加載代碼可能已經被改變(包括(Mycomp/Catalog/Model/Layer/Filter/Category.php將是「普通」)) – 2010-07-17 21:17:20

4

它doesn這裏沒有出現,你是爲Mycomp_Catalog模塊設置了模型嗎?修改您的全球部分是這樣的:

<global> 
    <models> 
     <catalog> 
      <rewrite>      
       <layer_filter_category>Mycomp_Catalog_Model_Layer_Filter_Category</layer_filter_category> 
      </rewrite> 
     </catalog> 
     <mycompcatalog> 
      <class>Mycomp_Catalog_Model</class> 
     </mycompcatalog> 
    </models> 
</global> 

這是我唯一的猜測。希望有所幫助!

謝謝, 喬

+0

編輯以反映你不會想強調的組名(mycomp_catalog),因爲這會混淆Magento的。否則,發現。 – 2010-07-16 14:56:25

+0

組名中的下劃線很好,不需要重寫。 – Greg 2010-07-16 20:40:51

+0

是的,我剛纔講了下劃線,我用一些測試代碼跳到了錯誤的結論。 – 2010-07-16 20:59:38