步驟:
1.創建一個Hello World模塊
2.為這個模塊配置路由
3.為這個模塊創建執行控制器
創建Hello World模塊
創建模塊的結構目錄:
app/core/local/Sjolzy/HelloWorld/Block
app/core/local/Sjolzy/HelloWorld/controllers
app/core/local/Sjolzy/HelloWorld/etc
app/core/local/Sjolzy/HelloWorld/Helper
app/core/local/Sjolzy/HelloWorld/Model
app/core/local/Sjolzy/HelloWorld/sql
創建config.xml的內容(app/core/local/Sjolzy/HelloWorld/etc/config.xml):
<config>
<modules>
<Sjolzy_HelloWorld>
<version>0.1.0</version>
</Sjolzy_HelloWorld>
</modules>
</config>
然后創建一個系統配置文件激活這個模塊
Sjolzy_HelloWorld.xml(app/etc/modules/Sjolzy_HelloWorld.xml)
<config>
<modules>
<Sjolzy_HelloWorld>
<active>true</active>
<codePool>local</codePool>
</Sjolzy_HelloWorld>
</modules>
</config>
檢查是否模塊已經激活:先清空magento緩存(var/cache),在后臺管理:System->Configuration->Advanced 展開Disable Modules Output,看是否Sjolzy_HelloWorld顯示出來。
配置路由
路由是用來把一個URL請求轉換成一個執行控制器的方法。
需要在magento的全局配置中顯式的定義你的路由。
在config.xml(app/core/local/Sjolzy/HelloWorld/etc/config.xml)中:
<config>
...
<!-- /* fontend:指向網站的前臺(也可以是admin|install) */ -->
<frontend>
<!-- /* routers:路由對象的定義或路由路徑的定義 */ -->
<routers>
<!-- /* helloworld:指向網站的前臺 */ -->
<helloworld>
<use>standard</use>
<args>
<!-- /* module:模塊名字的小寫版本 */ -->
<module>Sjolzy_HelloWorld</module>
<!-- /* fontName:路由過程中的一個參數,只跟路由相關(Front Controller則是用來實例化所有路由) */ -->
<frontName>helloworld</frontName>
</args>
</helloworld>
</routers>
</frontend>
</config>
為路由創建執行控制器
路由會把控制權交給控制器,我們已經定義了路由,現在來定義我們的執行控制器。
app/code/local/Sjolzy/HelloWorld/controllers/IndexAction.php(模塊的控制器放在子目錄controllers<小寫>里,這是magento的規定)
<?php
class Sjolzy_HelloWorld_IndexController extends Mage_Core_Controller_Front_Action{
public function indexAction(){
echo 'Hello World!';
}
}
?>
還是情況緩存,請求URL:http://example.com/helloworld/index/index
注:http://example.com/frontName/執行控制器/執行方法
如果看到空白頁面上寫著'Hello World!',則你的模塊創建成功!