2013-07-05 50 views
0

我想了解當我設置新模塊時,如何在我的配置中發生什麼。要創建一個名爲Ts_Wo我需要添加瞭解Magento初始化模塊時發生了什麼

應用程序/代碼的/ etc /模塊模塊/ Ts_Wo.xml

<config> 
    <modules> 
     <Ts_Wo> 
     <active>true</active> 
     <codePool>local</codePool> 
     </Ts_Wo> 
    </modules> 
</config> 

,需要添加

應用程序/代碼/本地/ TS/WO/etc/config.xml

<config> 
<modules> 
    <Ts_Wo> 
     <version>0.1.0</version> 
    </Ts_Wo> 
</modules> 
<frontend> 
    <routers> 
     <wo> 
      <use>standard</use> 
      <args> 
       <module>Ts_Wo</module> 
       <frontName>wo</frontName> 
      </args> 
     </wo> 
    </routers> 
</frontend> 
</config> 

從這裏我去magento管理面板system-> configuration-> advanced檢查模塊是否啓用。

這一直工作得很好,直到我發現我創建了兩個模塊Ts_Wo和Ts_Woo。很顯然,我糾正錯字(這是我在模塊config.xml中的節點中找到),我又回到了一個模塊

我的問題:

1 - 我想Magento的需要這兩個文件來創建模塊?

2-如果不是我爲什麼要創建這兩個文件?

2a-如果是這樣,當我預期沒有模塊顯示時,它是如何顯示兩個不同的模塊?

回答

2
  1. 「模塊」 在Magento是模糊,邊界不清的概念。根據開發人員提供的內容,應用程序/代碼將以各種方式實現模塊中的任何類和配置。例如,創建一個類Ts_Wo_Model_Fooapp/code/local/Ts/Wo/Model/Foo.php然後在應用程序中通過new Ts_Wo_Model_Foo在某處實例化它。這是一個可以成爲模塊的一部分的類,但是模塊本身並不在應用程序中正確存在。

  2. 應該兩個單獨的XML配置文件,以便(在app/etc/modules/,這是整體結構DOM的一部分)可以被用於控制是否模塊的配置的XML模塊的聲明XML(例如app/code/local/Ts/Wo/etc/config.xml)應合併,並按什麼順序(基於<depends>)。將<active>標誌設置爲false將防止合併模塊配置。

    2a。管理員中的顯示(系統>配置>高級)顯然是欺騙性的。一,此組用於禁用模塊輸出。二,這個組中列出的「模塊」僅僅是從配置DOM xpath下的所有節點派生出來的,沒有什麼比這更簡單。 即使將<active>標誌設置爲false的「模塊」也會出現在此列表中。

+0

謝謝你的迴應。現在感覺更清楚了。 – tony09uk

+0

「clear as mud」:-) – benmarks

+0

+1 @benmarks透明答案.. – liyakat