标签 magento 下的文章

magento - 在URL网址中不显示store view code - Url Options

问题:如果magento为不同的语言创建了不同的Store View,那么默认在浏览器访问的地址栏中,会显示该Store View的标识,如en4等。

magento-hide-store-code-2.png

方法:在管理后台,浏览 Stores -> Configuration --> General --> Web ---> URL options ----> Add Store Code to Urls 设置为 No
magento-hide-store-code-1.png

清除缓存后,再次测试。
magento-hide-store-code-3.png

参考:https://magento.stackexchange.com/questions/186083/magento-2-remove-store-code-in-url-only-for-default-store

magento - 搬站 - Symbolic link not allowed or link target not accessible - 403拒绝访问

问题:将magento2的web目录,从A服务器打包到B服务器。访问B服务器的magento2站点,部分图片不能显示,apache日志记录有403错误,如 AH00037: Symbolic link not allowed or link target not accessible: /var/www/magento2/pub/static/adminhtml/Magento/backend/en_US/images/magento-logo.svg

解决:删除magento的pub/static目录,然后重新生成静态目录里的文件。

1.php bin/magento setup:static-content:deploy -f
2.php bin/magento cache:flush

debian9-apache-magento-1.png

参考:https://magento.stackexchange.com/questions/64802/magento-2-404-error-for-scripts-and-css

关闭magento管理后台网址里的会话字符串

问题:magento默认是往管理后台URL网址中添加随机生成的长字符串Secret Key,可增强安全性。但如果有“洁癖”,也可以禁用。
magento-admin-secret-key-1.png

过程:

1.登录到后台,浏览到 Stores -> Settings -> Configuration -->Advanced --> Admin --> Security ,将 Add Secret Key to URLs 设置为 No
magento-admin-secret-key-2.png

2.清除magento缓存后,管理后台的URL网址中没有长长的字符串Secret Key了
magento-admin-secret-key-3.png

参考:

CSS - background-image - 用相对的图片地址

问题:布置一键包的magento2,里边有程序也有图片文件,所有都打包好的。测试时发现首页弹出的订阅框光有文字,没有好看的背景图。

css-background-image-url-3.png

过程:

1.在浏览器里使用“开发者工具”查看“网络”内容列表,查得有张图片的详细地址是 http://127.0.0.1/...

2.在网站文件中,查找包含 127.0.0.1/... 内容的文件,查到是某个CSS样式表文件
css-background-image-url-1.png

3.编辑该CSS样式表内容,将background-image属性里的url地址从http://打头的,换成/picture.png的相对地址
css-background-image-url-2.png

4.刷新测试,弹框有背景图片显示了
css-background-image-url-4.png

参考:https://www.w3schools.com/cssref/pr_background-image.asp

Magento2的SMTP Pro测试发送gmail邮件失败 - cPanel

现象:WHM/cPanel环境里安装了Magento2,想通过SMTP Pro用gmail的邮件服务发邮件。邮件发送测试时提示出错:SMTP Pro Self Test Results: Exception message was: Unable to connect via TLS

过程:

1.确认php环境是支持openssl的,发信测试也是一样的失败结果
magento-smtp-gmail-ssl-1.png

2.搜索得,需要在WHM的Tweak Settings中,将“Restrick outgoing SMTP to root, exim, and mailman(FKA SMTP Tweak)”的功能关闭(设置为Off)
magento-smtp-gmail-ssl-3.png

3.重新测试发信,正常了

参考:https://magento.stackexchange.com/questions/22227/transactional-emails-not-going-out/22233#22233?newreg=72b194287746436db1f4744ce11838b4