作为一个Magento开发者,经常遇到的问题应该是定位模板,model位置,虽然magento系统有一个自带功能可以在后台设置显示模板及block的位置,但开启后页面一大片红色,看起来其实很不舒服,如果刚好调试的是前端样式,就非常痛苦了。

开发辅助工具Magento DevTools

这是一个专用于开发辅助的模块,由magento模块和浏览器插件共同组成,官方信息如下:

magento模块官方git:https://github.com/magespecialist/m2-MSP_DevTools

浏览器插件扩展:https://chrome.google.com/webstore/detail/magespecialist-devtools-f/odbnbnenehdodpnebgldhhmicbnlmapj?authuser=3

备份git:https://github.com/aisna/magentodevtools

如上图所视:涉及(Design、Block、Observers、UI、SQL……)等相关信息,具体如下

General:magento框架基本信息

Desigin:主题设计的基本信息

Observers:当前页面调用的事件列表

Blocks:当前页面调用的Block模块

Data Models:当前页面调用的模块

Collections:当前页面调用的资源连接(magneto封装好的sql查询模块)

UI:当前页面调用的ui

Profiler:主要用来分析性能,可看到调用了哪一些模块,用时多久,调用次数

Plugins:当前页面调用的插件情况

Queries:当前页面执行的sql语句

安装DevTools模块

下载模块后,复制到站点目录app/code下,执行以下命令启动模块

 php7.2 bin/magento module:enable MSP_DevTools MSP_Common

重新编译后,进入后台Stores > Configuration > MageSpecialist > DevTools,将General下的Enabled设置为Yes就可以

如何查看模板路径

开启模块后,在浏览器查看页面html时,能看到MSPDEV开头的标签,如下图

复制[]里面的数值,然后点击Blocks选项卡,在右边search填写复制到的数值再按回车键就可以看到调用的block,再点击Block Name下的结果,就能看到详情,如下图

开启sql语句,查看当前页面执行的sql

sql未开启前的效果,提示也很明显了

编译app/etc/env.php在db>connection>default下增加一个profiler=>1的值,就可以了。

注意:好像只有sql正常执行的才会在这里面显示出来,异常的并不能显示在这里面

开启profiler,检测模块的性能消耗

官方的说明是修改index.php或修改.htaccess,但按他们的设置后,并没有效果,我的环境是nginx+magento2.3.4版本,后面搞了很久才发现可以用以下方式进行开启

sudo php7.2 bin/magento dev:profiler:enable 'MSP\DevTools\Profiler\Driver\Standard\Output\DevTools'
开启profiler,显示性能消耗
profiler开启后效果如上

备注:有点小问题

这是一个非常好用的magento开发辅助工具,但如果你在测试过程中如发现异常。

如:结算流程走不通,无法跳转支付页面,后台某一个查询按钮点击后总是回到登录页面(强制重新登录)

就有可能是这个工具影响了,可以先尝试在后台关闭,如果还不行,就先停用模块

php7.2 bin/magento module:disable MSP_Common MSP_DevTools
停用模块,也得重新编译一次