# 为何写这本书
> 为了简洁,本教材里的`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 | 改了很多(安装/主题/插件都有涉及),建议老用户都刷新下。 | |
## 打赏
听说,打赏我的人最后都找到了真爱。
![](https://img.kancloud.cn/44/e6/44e63e08fcc507c105c7b219a3de0b90_1190x1208.png)
<!-- ![](https://box.kancloud.cn/a20f71f222dd68e24aba9e0734192ab9_978x700.png) -->
- 序言
- 全面解读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服务器的项目
- 后续之路