2010-10-14 36 views
2

我正在寫一個Magento擴展,並且我無法將它顯示在覈心資源表中。我相信我正確地聲明瞭我的配置的資源部分。有人可以幫我把這個包裹起來嗎?提前致謝!未在覈心資源表中註冊的Magento擴展

<?xml version="1.0"?> 
<config> 
    <modules> 
     <CTRL_Analytics> 
      <version>0.2.0</version> 
     </CTRL_Analytics> 
    </modules> 
    <global> 
     <blocks> 
     <analytics> 
      <class>CTRL_Analytics_Block</class> 
     </analytics> 
     </blocks> 

     <helpers> 
      <analytics> 
      <class>CTRL_Analytics_Helper</class> 
      </analytics> 
     </helpers> 

     <resources> 
     <analytics_setup> 
      <setup>  
       <module>CTRL_Analytics</module> 
      </setup> 
      <connection> 
       <use>core_setup</use> 
      </connection> 
     </analytics_setup> 

     <analytics_write> 
      <connection> 
       <use>core_write</use> 
      </connection> 
     </analytics_write> 

     <analytics_read> 
      <connection> 
       <use>core_read</use> 
      </connection> 
     </analytics_read> 
     </resources> 

    </global> 
    <adminhtml> 
     <menu> 
      <analytics translate="title" module="analytics"> 
       <title>Marketing and Analytics</title> 
       <sort_order>100</sort_order> 
       <action>analytics/admin</action> 
      </analytics> 
     </menu> 
    </adminhtml> 
    <frontend> 
     <routers> 
      <CTRL_Analytics> 
       <use>standard</use> 
       <args> 
        <module>CTRL_Analytics</module> 
        <frontName>analytics</frontName> 
       </args> 
      </CTRL_Analytics> 
     </routers> 
    </frontend> 
</config> 

回答

4

看,你命名你的安裝文件

"mysql4-install-0.1.0.php", 

,但你的啓動模塊的版本是

"<version>0.2.0</version>" 

試着改變你的首發版本

"<version>0.1.0</version>" 

或將您的安裝程序文件更改爲

"mysql4-install-0.2.0.php". 

這些文件版本號來自您的模塊版本號。

我總是將一個退出或異常放入任何新的安裝程序文件中,以確保PHP正在嘗試加載文件。只有在成功執行該文件後,纔會將信息寫入core_resource表,退出或異常將阻止寫入。這使您可以重新加載頁面並讓安裝程序一次又一次運行,直到您找到正確的代碼。

+0

不錯,趕上艾倫,我沒有仔細閱讀。 @user,我猜艾倫回答了你寫給'core_resource'的順序問題! – 2010-10-15 03:09:57

+0

謝謝艾倫和喬納森!這兩套建議都有助於此腳本的成功。 – 2010-10-18 15:31:29

0

首先(我確信你已經這樣做了),清除並禁用所有緩存。

其次,檢查您是否能夠訪問Blocks和Helpers。如果不是,則可能是您的app\etc\modules\CTRL_Analytics.xml存在問題。該模塊是否顯示在系統>配置>高級管理下?

第三,你有你的sql\analytics_setup\mysql4-install-0.1.0.phpsql\analytics_setup\mysql4-upgrade-0.1.0-0.2.0.php正確命名和編碼。我發現mysql升級命名約定在過去讓很多人絆倒了。

最後,嘗試將服務器置於調試狀態並在mysql4-install-0.1.0.php內設置一個斷點,以檢查文件是否實際得到執行。它可能試圖運行,但沉默地失敗的SQL錯誤(恨這個!)。

希望這些幫助之一!在你的XML JD

+0

我嘗試了以上所有內容。我現在意識到mysql4-install-0.1.0.php沒有被執行。 – 2010-10-14 22:24:37

+0

有點像echo「here」;出口();應該作爲一個斷點正確? – 2010-10-14 22:24:58

+0

當magento實例化時,不應該將「analytics_setup」寫入core_resources表中,還是在寫入core_resources之前取決於mysql4-install-0.1.0.php的成功執行,是否應將「analytics_setup」寫入core_resources表? – 2010-10-14 22:35:28

2

我有同樣的問題,並花了一個星期(或讓我失去了一個星期!)找出原因,它是死了簡單。

檢查文件和文件夾權限。他們可能是有限的,更改爲&寫入您的新擴展的文件和目錄,它會立即工作。畢竟與緩存沒有任何關係!