Giáo trình magento part 5 – Magento Controller Dispatch

MVC có nguồn gốc từ thời Smalltalk và Xerox Parc. Từ thời đó, đã có nhiều hệ thống được mô tả là MVC. Mỗi hệ thống khác nhau nhưng đều có 1 đích là chia data access, business logic, và user – interface code ra các file khác nhau

Mô hình đó là 1 bước tiến bộ nhảy vọt từ mô hình “ mỗi file Php là 1 trang”  trước đó. Đối với vài kĩ sư phần mềm, nó  vẫn còn  ngu ngốc. Magento đưa ra 1 luồng xử lý khác để hiểu chi tiết bạn có thể đọc ở link sau

http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-3-magento-controller-dispatch

 

Giờ chúng ta làm ví dụ kinh điển Hello world để hiểu router trong Magento

Bước 1: Tạo cấu trúc folder

app/code/local/Magentotutorial/Helloworld/Block

app/code/local/Magentotutorial/Helloworld/controllers

app/code/local/Magentotutorial/Helloworld/etc

app/code/local/Magentotutorial/Helloworld/Helper

app/code/local/Magentotutorial/Helloworld/Model

app/code/local/Magentotutorial/Helloworld/sql

Copy 1 đống folder từ bài trước vào Folder Helloworld là xong

Bước 2 : tạo app/code/local/Magentotutorial/Helloworld/etc/config.xml

<config>
<modules>
<Magentotutorial_Helloworld>
<version>0.1.0</version>
</Magentotutorial_Helloworld>
</modules>
</config>

 

Bước 3 tạo file đăng ký module với magento app/etc/modules/Magentotutorial_Helloworld.xml

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

Bước : clear cache và kiểm tra module đã hoạt động hay chưa như bài trước

Configuring Routes

để thêm router cho module thì thêm vào file config.xml của module

<config>

<frontend>
<routers>
<helloworld>
<use>standard</use>
<args>
<module>Magentotutorial_Helloworld</module>
<frontName>helloworld</frontName>
</args>
</helloworld>
</routers>
</frontend>

</config>

thẻ <frontend> -> khu vực của router là từ giao diện frontend không phải admin

<routers> => trong tag này là cấu hình router

<frontName> -> trong này là tên đại diện trong URl

<helloworld> phải là tên viết thường của tên Module (Helloworld)

<module>Magentotutorial_Helloworld</module> -> tên module và package kết hợp

với khai báo này thì sẽ chạy được url này

class Magentotutorial_Helloworld_IndexController extends Mage_Core_Controller_Front_Action {

public function indexAction() {

echo ‘Hello Index!';

}

}

Kết thúc phần 5: Giáo trình magento part 5 – Magento Controller Dispatch, cùng chờ đón phần 6 nhé!

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">