2. Giới thiệu
• Magento framework
• php/mysql
• Dựa trên zend
• MVC
• OO
• Addons
• Kiến trúc trong Magento
• http server (nginx) + CGI (php-fpm) / Apache
• Mysql (percona db hoặc maria db)
• Tối ưu hóa trong Magento
• Full page cache (memcached)
• Block cache (memcached)
• APC
3. Thành phần trong Magento
• XML configuration files
• Cho layout
• Cấu hình cho modules
• Controllers luôn là điểm bắt đầu (entry point)
• Views được gọi bởi blocks và được tổ chức bởi layout (file xml)
4. Magento skins
• Được tổ chức thành những gói packages > themes
• Trong mỗi gói hoặc theme gồm những files: layout, phtml và phiên dịch
• Thư mục dự phòng cho những file layouts và templates trong thư mục
base của magento
5. Một module trong magento
• Module chính được đặt như: app/etc/modules/mymodule.xml
• Các files của module thì được gom lại trong thư mục:
app/code/local/mycompany/mymodule
• Cấu trúc các file module gồm có: block, etc (cấu hình), controllers, model, sql
• Những cập nhật cho layout được đặt tại: app/design/frontend/mypackage/mytheme
• Object name vô cùng quan trọng
• KHÔNG BAO GIỜ được thay đổi core files
• Dựa vào magento core files và mở rộng chúng
6. Thư mục etc
• Thường chứa mã nguồn không nghi ngờ gì nữa rồi.
• config.xml
• Biểu thị tất cả các tài nguyên của bạn bao gồm: blocks, models, controllers, installation,
version number, layout update files,…
• system.xml
• Cấu hình bên trong trang quản trị: menu, system/configuration…
• adminhtml.xml
• ACL (access control lists) Danh sách phân quyền
(app/code/core/Mage/Adminhtml/etc/adminhtml.xml )
7. Blocks
• Block được tải bởi layout hoặc controller
• Block có thể và nên được cached (phải cẩn thận với cachekey)
• Block chỉ nên quan tâm đến phần hiển thị
8. Controllers
• Chỉ huy tất cả application, redirects, organizes
• Một controller có thể bao gồm nhiều actions
• Những controller bên trong admin nên đặt bên trong thư mục adminhtml
9. Models
• Tất cả truy cập dữ liệu nên được hoàn thành ở đây
• Đây là nơi của business logic
11. Databases changes on install
Những thay đổi dữ liệu khi cài đặt
• Chỉ được kích hoạt khi thay đổi phiên bản (kiểm tra core_resource và
config.xml)
• Có thể them mọi thứ trong database (attributes, new tables, new users…)
12. Packaging your module
Đóng gói module của bạn
• Sử dụng magento packaging tool
• Nghĩ những điều này trước tiên: company, module name,..
• Đẩy lên magentoconnect (easy if free, little more work if not)
13. Conclusion / links
Kết luận và liên kết
• POWERFUL :) Rất mạng mẽ
• Những đường link hữu ích
• http://alanstorm.com/
• http://inchoo.net/
• http://www.aschroder.com/
• http://www.blog.magepsycho.com/
14. about
• Dịch từ: http://www.slideshare.net/sgphpug/introduction-to-magento
• Bởi
• Đỗ Ngọc Tú
• VNITeam.Com
• Hattetek.Org