Lộ trình học magento 2








Lên kế hoạch của năm học magento 2, với checklist như bên dưới, một PHP Developer như mình có thể xách laptop đi mà xin việc Magentor hay tự tin tham gia dự án Magento 2 ngon lành.


Magento một platform e-commerce hoàn chỉnh đến nỗi mà vọc mãi vẫn nhầm lẫn, quá nhiều chức năng để triển khai business nhỏ và cả to nữa, một vài framework free khác như opencart, woocomerce ... mình đã từng sử dụng và phát triển, nhưng khi gặp magento dù mất phải tầm 2 tháng để vọc vạch nhưng triển khai vào thực tế mình cảm thấy an tâm hơn nhất là security.



Dưới đây có một vài checklist muốn chia sẻ, qua có các bạn có phần overview về kiến thức, một vài tool tay Dev PHP nào cũng phải có : LAMP hoặc LEMP, IDE tốt cho Mage là Phpstorm, Sublime Text 3 version mới UI đẹp mê, Chrome.



Tài liệu chi tiết http://devdocs.magento.com/ hạn chế kiếm tút trên mạng

Bài 1 - Cài đặt magento 2
  • Cài đặt Magento 2
  • Cài đặt thêm dữ liệu demo cho Magento 2
  • Thiết lập môi trường trước khi phát triển


Unit 2 – Làm việc với Theme

Nhà nhà người người làm theme

  • Tìm hiểu 2 theme mặc định của M2 
  • Tạo chơi một theme 
  • Chỉnh sửa giao diện 
  • Thêm file phtml, tinh gọn giao diện, mình đưa mục này vào do làm việc với một bác làm cái template phtml đến 3k line ✌ 
  • Less biết cho vui, nếu bạn nào làm với SASS thì cố gắng custome gulp build sass viết cho dễ, nhiều dev cùi còn viết file css riêng xong style url vào 👇 
  • Thiết lập vài thuộc tính trong backend : tiêu đề, logo ... 
  • Đa ngôn ngữ , 
  • Làm việc với widget layout 
  • Làm việc với email template, khi làm đến module quen rồi thì email templat các bạn sẽ biết cách tối ưu việc viết template vì làm với mockup của mail chuối quá 👧 texarea bé tí nhồi text vào xong chạy test. 
Unit 3 – Tạo một module đầy đủ CRUD
  • Khởi tạo thiết lập system.xml cho Magento 2 
  • Tạo model Magento 2 
  • Viết script cài đặt schema data cho module Magento 2 
  • Tạo menu truy cập và phân quyền (ACL) cho module Magento 2 
  • Tạo một controller admin để truy cập backend Magento 2 

Unit 4 – Xây dựng module => phát triển module

  • Tạo module file 
  • Tạo controller cho biết mình đang ở đâu 👂 
  • Layout của module , mỗi module đều có controller - block - view , đôi khi chỉ cần nhìn url, developer có thể biết mình đang ở đâu . 
  • Đa ngôn ngữ 
  • Lấy thông tin từ block - view 
  • Viết console command tương tác với CLI 
  • Tạo file install và upgrade database 
  • Tạo model 
  • Làm việc với Magento collections, khái nhiệm collection trong Laravel đẹp vậy nhưng trong Mage không như vậy làm mình khá khó chịu mỗi khi query hay tạo riêng một collection 
  • Thêm thuộc tính cho sản phẩm bằng tay ✊ 


Unit 5 – Xây dựng module => phát triển module phần nâng cao


  • Đăng ký Controller trong backend để quản trị 
  • Thêm link vào admin menu 
  • Làm việc với ACL 
  • Thêm tham số vào configure 
  • Tạo Grid table hiển thị dữ liệu, mục này có 2 trường phái một là dùng uiComponent define loằng ngoằng hoặc dùng block grid cho dễ. 
  • Nếu làm nhiều với grid component thì nên quan tâm đến source models 

Unit 6 – Event và Cronjobs


  • Hiểu được Observe event 
  • Tạo event riêng 
  • Chỉnh sửa event đã có 
  • cronjobs thì nhớ https://crontab.guru
  • Tạo và test cronjob dùng command line test 

Unit 7 – Shipping Module và Payment Module


Mục này thuộc hạng nặng , khá khó nhai , viết được onepay vietnam được coi là thành công lớn, có dịp sẽ đồ lại share free, full link các bạn xem dưới tự làm một cái riêng

Magento payment provider gateway

Add a custom payment method to checkout


Shippping method M2 đã hỗ trợ khá nhiều , dùng không hết, nếu muốn tự làm có thể tham khảo, khi unit test nhớ chọn carrier nào free test, đỡ đăng ký hỏi nọ kia

Magento 2 Create Shipping Method


Unit 8 - Performance Optimization

Xem yêu cầu tối thiểu của Mage có thể chạy được , kéo xuống dưới chọn phiên bản phù hợp, để ý version php vì mải mê phát triển lúc đưa lên hosting kiếm mãi không được host phù hợp

Installation flow diagram

Magento Optimization Guide

Optimization gì thì bước đầu tiên là code phải chuẩn, đừng lấy hết data rồi xử lý condition trên code là ỏm, tận dụng cache là một lợi thế

Mình từng gặp dự án gửi tài liệu và code, tài liệu 6 trang A6 mà code thì 30G 💅 image docker , xong, chạy lên rồi, magento cache:clean , thôi xong ôm mặt khóc nó build lại cho , nhè 10' không lên được site, bực chỉ muốn pkill thằng làm lên con số 3x, Mất 2 hôm vừa code vừa tách ra local, dev ngon lành luôn. chạy vi vu trên macbook pro 2015.

Unit 9 Component


Nâng cao hơn nhưng thiết yếu, Developer gà như mình cũng phai quẩy được 9/10 chỗ này , mình biế mô tả sao chỗ này, vì khái niệm trừu tượng nên tốt hơn nhìn thẳng vào thực tế


Cảm ơn đã đọc và chia sẻ

Nhận xét

Bài đăng phổ biến từ blog này

Skill - Tập tành ghi chép Bullet Journal

Laravel Design Patterns và Best Practices Phần 2