Magento Basic Constructure for Beginners

Nhận xét sản phẩm này

Tình trạng: Còn hàng

0,00 US$
Hoặc

Magento Basic Constructure for Beginners

Magento Basic Constructure for Beginners

Mô Hình MVC

 

Cấu trúc thư mục Magento:

 

- App: PHP code, template, configuration, locale specific translation -> notice the Mage.php (many static method)

- Js, lib: library for javascript & PHP - Media: uploaded images file (product, CMS, cache, CSS & JS combine,…)

- Skin: Design package/theme depended CSS, image, JS (quite static)

- .htacess is ONLY for Apache and Apache compatible web server, for others (Nginx) must config appropriately. Most important is url rewrite process.

- Index.php: handle all request (because rewrite rule in .htaccess)

Codepools

 

 

 

Thứ tự load file: Local => community => core Cấu trúc module:

 

 

- Khai báo, bật/tắt module: app/etc/module/Namespace_Modulename.xml

- Bắt buộc phải có etc/config.xml

- Block: Tương ứng tầng View trong mô hình MVC– Là các Class PHP chứa dữ liệu và logic cho việc render các template. Các block có thể lồng nhau (cha – con)

- controllers: Tương ứng tầng Controller trong mô hình MVC – Là các lớp điều khiển.

- Helper: Cần có để dịch (translate), ngoài ra sử dụng để xây dựng các function tiện ích có thể dùng được ở mọi nơi trong ứng dụng

- Model: Tương ứng tầng Model trong mô hình MVC – Là các lớp thực thể, thể hiện dữ liệu trong database (Product, Order, Category, Customer, …)

- sql: Chứa mã cài đặt database

- Ngoài ra còn có các file trong thư mục design và skin nếu cần

Magento Configuration

- app/etc/*.xml - app/etc/modules/*.xml

- app/code////etc/config.xml

- những file config khác trong module (etc/*.xml): system.xml, adminhtml.xml, api.xml,…

- Loaded từ database 

=>> Tất cả đc ghép thành 1 file xml duy nhất

 

 

etc/config.xml

 

 

Cách đặt tên và gọi các class

 

getModel và getSingleton:

 

getModel() = new ClassName; getSingleton() = getModel trong lần đầu tiên gọi.

từ lần thứ 2 getSingleton() sẽ gọi tới object đã được tạo ở lần gọi đầu tiên

Request flow

Ví dụ với đường link: http://example.com/catalog/product/view/id/25

- FrontName được khai báo trong etc/config.xml, cần phải khác nhau giữa các module để tránh xung đột

 

 

 

- Nếu không điền giá trị của ControllerName, ActionName trên url magento sẽ hiểu là gọi tới IndexController, IndexAction

- Câu hỏi: trong trường hợp này nếu muốn truyền tham số thì làm thế nào?

Thông tin kỹ thuật

Author Vu Manh Hung
(0)

Questions and Answers

add your question

There are no entries.