# 為何寫這本書
> 為了簡潔,本教材里的`M2`都指`Magento2`.
本書是M2的中文實戰教材,重點介紹如何快速上手掌握M2。
一直以來,Magento就給人留下了復雜高深莫測的印象,高冷不容易靠近。
> 2.x比1.x更先進,用的技術更全面,要學習的更多。
并且國內中文資料太少,都是零碎的,大多是翻譯的國外資料,非常不系統,給人模凌兩可的感覺,很難上手。
我記得剛開始學習Magento的時候,是2012年,當時是1.7.2版本。花了差不多3個月,才勉強上手開發主題和插件。參考資料是國外大神Alan Storm所寫的`深入理解Magento系統`。
2016年初開始做M2開發,截止到目前還在做M1和M2的一線開發工作。算下來差不多有6年了。
有時候特別感慨,居然堅持了這么久。
因為期間帶過的同事有6-7個人了,都差不多搞了1年半載就離開了,都覺得在國內做這個沒前途,工作崗位少,出去了找不到工作,沒優勢。
其實我也比較認同,很尊重他們的選擇,如果對某個東西有非常強的抵抗情緒的話,是很難學好的。
人各有志,M2在國內確實非常小眾,但是還是有市場的,功能強大,高端大氣,有口皆碑。做外貿站的朋友對他是又愛又恨。主要還是太難上手了,招人也招不到,即使招到人了也覺得沒前途做幾天就跑了,導致惡性循環。
所以特別需要有個中國人能寫一本通俗易懂的中文教程來普及推廣下,群里的很多朋友也叫我出本m2系統學習的書,他們都被整怕了,做了1-2個月還是云里霧里的。
正好我也有此意,做了6年多Magento開發,接觸了不少新手,踩了很多坑,熬了很多夜,吸取了很多經驗,是該好好總結下了。
希望能對你們有幫助,也能為magento的普及盡一份綿薄之力。
在此,我非常感謝我們公司boss,我也曾好幾次萌生退意,是他一直鼓勵我好好干,我才斗膽有資格有實力在這里跟大家交流。
因為本書定位是初級讀物,不會涉及到太多的源代碼和原理分析。我會盡量以通俗易懂更系統的方式來教大家快速掌握M2。撥開云霧見日月。
教你以上帝視角來輕松玩轉M2。
**注意:本教程適合初學者,有經驗的可以不用看,拒絕噴子和黑子。**
因此這本書非常適合以下2類人群:
1. 個人站長,學會后你可以直接上手運營,不求人
2. 剛做M2開發0-1年的phper
鑒于M2的版本還在不斷的更新,我會持續修訂本書的內容。
有問題的地方,希望大家多多批評指正。
大家最好直接在評論區留言,我會及時回復并修改。
或者去[Magento2開發者社區](https://bbs.mallol.cn/)提問,我會及時回復。
**因為私聊我的人太多,精力不足,同樣的問題還得回復幾遍,建議不要私聊我了,沒時間和精力一個個回復。**
**建議大家直接去[論壇](https://bbs.mallol.cn/)提問,方便快捷,人氣很旺。**
> 官方QQ群: 326270402
> 官方付費高級QQ群: 797690956 (已購買此書的朋友直接用密碼進去,密碼在最后一章'后續之路'里)。該群主要來討論付費項目,給那些真正想付費解決問題的朋友,資源共享。
> 微信群(群主邀請進群):cxytxmall
> Magento2專業中文社區: [https://bbs.mallol.cn/](https://bbs.mallol.cn/)
> Magento2中文站: [https://www.mallol.cn/](https://www.mallol.cn/)
## 修訂記錄
該書上線2年多來,一直都在陸陸續續完善優化內容。
根據群里用戶的反饋在調整和添加。
很多邏輯不通暢 說漏掉的地方 都進行了修補。
一些初學者容易忽略的地方,我都反復加強了強調。
| 日期 | 調整內容 | 備注 |
| --- | --- | --- |
|2021-06-25|新增了`v2.4.x升級指南`|有很多注意事項|
|2021-4-11|修改了若干兼容性相關的問題|比如M2不支持Composer 2.x,需要切換到Composer 1.x|
|2020-7-26|新增了`安裝配置Elasticsearch`|從Magento 2.4.x開始,分類搜索都使用Elasticsearch來實現,代替了mysql|
|2020-5-20|更新了`安裝并配置Redis緩存`|從Magento 2.3.5開始,建議使用擴展的Redis緩存實現|
|2020-4-14|修訂了若干小細節問題,比如 常見問題/varnish/緩存/ssl相關的問題||
|2019-07-23|新增了`M1數據庫遷移到M2指南`|項目實操(1.9.4->2.3.1)|
|2018-12-10|新增了`v2.3.0版本填坑指南`||
|2018-12-02|新增了`如何使用API`|教你科學調用API|
|2018-11-04| 新增了`SEO在線分析工具`||
|2018-11-03| 新增了`配置nginx pagespeed模塊進行網站加速`|教你如何科學安裝配置nginx pagespeed模塊,讓你的網站飛起來|
|2018-09-19| 升級到2.2.6版本時的注意事項,見`Magento2版本升級`||
| 2018-08-30 | 新增了`如何安裝插件`,教你科學安裝插件| |
|2018-08-23| 新增了`如何在代碼里創建屬性`,教你科學創建`product`/`category`/`customer`屬性||
|2018-08-15| 新增了`如何升級php版本`,本服務器php版本已升級到php7.1.20||
| 2018-08-15| 新增了`關于主題的一些學員問題`,會陸續記錄| |
| 2018-08-05 | 新增了`續外篇-安裝phpmyadmin`,教你最正規的安裝方法| |
| 2018-07-25 | 新增了`發送郵件(帶附件)`一章,教你用M2科學發郵件 | |
| 2018-07-22 | 新增了`Paypal設置`一章,教你如何創建開發者賬號以及獲取API憑證 | |
| 2018-07-20 | 更新了`創建多網店多域名以及安裝中文語言包`,修復了'訪問中文站時會自動跳轉到默認站'的問題 | |
| 2018-07-13| 插件實戰里添加了`難點解析`| |
| 2018-07-13 | 更新了`導入演示數據`,composer和github方式安裝的做法不一樣 | |
| 2018-07-13| 添加了`如何創建cron任務和功能`,實例講解| 需要pull下gitee上的插件代碼,修改位置見`插件修改記錄`|
| 2018-07-12| 更新了`產品詳情頁面詳解`,添加了自定義tab欄| 需要pull下gitee上的主題代碼,修改位置見`主題修改記錄` |
| 2018-07-12 | 更新了Zou_Demo主題,首頁添加了分類產品滾動| 需要pull下gitee上的主題代碼,修改位置見`主題修改記錄` |
| 2018-07-12 | 更新了Zou_Demo插件,之前有點小bug,后臺設置的`Custom Field #1's Description`沒有在實體店編輯頁面顯示出來 | 需要pull下gitee上的插件代碼,修改位置見`插件修改記錄` |
| 2018-07-05 | 更新了`遇到問題,我該怎么做`,不要慌,教你冷靜分析 | |
| 2018-06-28 | 更新了`運行原理剖析`這一節,進一步分析了緩存,免得大家有歧義搞混淆了 | |
| 2018-06-28 | 加了`如何安裝主題`一節以及其他細節修改 | |
| 2018-06-27 | 更新了`插件框架詳解`插件升級以及`常用命令`的一些筆誤| |
| 2018-06-27 | 調整了`配置Cronjob`這一節,`crontab`用戶必須跟項目主用戶一致,不然又會出現權限問題 | |
| 2018-06-26 | 改了很多(安裝/主題/插件都有涉及),建議老用戶都刷新下。 | |
## 打賞
聽說,打賞我的人最后都找到了真愛。

<!--  -->
- 序言
- 全面解讀Magento2
- Magento2簡介
- Magento2特點
- Magento2目錄結構
- Magento2語法講解
- 運行原理剖析
- 開啟Magento2之旅
- 安裝Magnto2
- 購買阿里云服務器(Ubuntu系統)
- 安裝和配置Nginx/PHP/PHP-FPM
- 配置Mysql并創建數據庫
- 配置Nginx虛擬主機
- 安裝和配置Magento2
- 導入演示數據
- 手把手教你創建git代碼庫
- 續外篇-購買AWS服務器
- 續外篇-Mac下安裝LNMP
- 續外篇-安裝phpmyadmin
- 如何升級php版本
- 使用Magento2
- 創建多網店多域名以及安裝中文語言包
- 創建獨立cms頁面
- 創建分類和產品
- 創建產品屬性
- 創建優惠券
- 導入產品csv
- 下單/發票/發貨/退貨
- M2常用命令
- 如何安裝主題
- 如何安裝插件
- 如何使用API
- 常見問題
- 常見問題 二
- 常見問題 三
- 常見問題 四
- 常見問題 五
- Magento2主題
- 主題框架詳解
- Layout文件詳解
- M2里的JS
- 主題實戰
- 前期準備工作
- 完成首頁
- 重寫分類頁面
- 錦囊妙計
- 產品詳情頁面講解
- 購物車頁面講解
- 支付頁面講解
- 主題修改記錄
- 關于主題的一些學員問答
- Magento2插件
- 插件框架詳解
- XML配置說明
- 插件實戰
- 準備工作
- 寫代碼
- 調試
- 難點解析
- 插件升級
- 插件修改記錄
- 擴展閱讀
- 如何創建cron任務和功能
- 發送郵件(帶附件)
- 如何在代碼里創建屬性
- Magento2線上部署
- 基本流程
- 配置Redis
- 配置Varnish+SSL
- Varnish配置教程(2020年修訂版)
- Paypal設置
- 一些優化
- Magento2 版本升級
- v2.3.0版本填坑指南
- v2.4.x升級指南
- 配置nginx pagespeed模塊進行加速
- M1數據庫遷移到M2指南
- 安裝配置Elasticsearch
- Magento2常用工具
- 網站測速分析工具
- 在線創建插件模塊
- M2后臺可視化編輯器里的標簽變量
- 遇到問題,我該怎么做
- 常用代碼
- SEO在線分析工具
- 本地用xdebug遠程調試mgtdev2服務器的項目
- 后續之路