2015-05-31 12 views
1

對於所有的意圖和目的,這應該是工作..但事實並非如此。簡單的Magento 1.9.1模塊幫手不工作(失敗打開流)

結構:

  • 應用程序的/ etc /模塊/ Company_Modulename.xml

    <?xml version="1.0"?> 
    <config> 
        <modules> 
         <Company_Modulename> 
          <active>true</active> 
          <codePool>community</codePool> 
          <version>1.0.0</version> 
         </Company_Modulename> 
        </modules> 
    </config> 
    
  • 應用程序/代碼/社區/公司/ MODULENAME的/ etc/config.xml中

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Company_Modulename> 
     <version>1.0.0</version> 
     </Company_Modulename> 
    </modules> 
    <global> 
     <helpers> 
      <modulename> 
       <class>Company_Modulename_Helper</class> 
      </modulename> 
     </helpers> 
    </global> 
</config> 
  • 應用程序/代碼/社區/公司/ MODULENAME /助手/ Data.php
<?php 
class Company_Modulename_Helper_Data extends Mage_Core_Helper_Abstract 
{ 
    public function sayHello() { 
     die('hello'); 
    } 
} 
  • 應用程序/設計/前端/自定義/缺省的/ template/page/2columns-right.phtml
... 
<?php Mage::helper('modulename')->sayHello(); ?> 
... 

這應該與詞 '你好' 來die'ing。相反,我得到:

警告:包括(法師/ MODULENAME /助手/ Data.php):未能打開 流:在 的/ var/www/html等/測試沒有這樣的文件或目錄/ lib/Varien/Autoload.php 94行

我已經將所有模塊文件的權限設置爲777以防萬一。 任何想法?

編輯:我已經嘗試將Data.php重命名爲Helper.php(也是修改後的類名),並試圖用Mage :: helper('modulename/helper') - > ...來調用它,它拋出相同的錯誤,將它正在尋找的文件名改爲Helper.php,但保持使用相同的路徑。

編譯關閉時,高速緩存被禁用(每次測試前清除它無論如何)

+0

只要自動加載器找不到名稱空間(警告:包含(Mage/Modulename/Helper/Data.php):),通常是因爲拼寫錯誤或文件/目錄在包含路徑中不可用。檢查你的config.xml和文件系統路徑。 –

+0

Heh。路徑和配置是正確的。但是當我檢查時,我注意到www-data用戶無權訪問這些文件。必須將其授予整個名稱空間文件夾(公司)。不過謝謝你的提示。 –

回答

0

發現這個問題。

www-data用戶對命名空間(公司)目錄沒有權限。