-
当我们使用Nginx 配置Magento 2 自带的nginx.conf.sample的重写方试时,自定义的目录访问为404,在站点目录下增加一个文件目录,文件放在pub目录下
location /test/ {
location ~* \.php$ {
try_files $uri =404;
fastcgi_pass fastcgi_backend;
fastcgi_buffers 1024 4k;fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}如果只是一个文件也可以采用这种方式,一般用于google,等相关验证
location /robots.txt{
alias /www/wwwroot/magentoued.com/robots.txt;
} -
1 去除DEFINER子句:
检 查 SQL 文件,去除下面类似的子句。
DEFINER=`root`@`%`
2。在 Linux 平台下,可以尝试使用下面的语句去除。
sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/ ' your.sql > your_revised.sql3. 错这个错误 Storage engine MEMORY is disabled (Table creation is disallowed)
需要将 MEMORY 表类型转成InNodb
-
Magento2 价格,优惠格式bug, 当货币为中文,或日本,在设置优惠价格时,价格为几十时会显示:0,50或0,05的问题,改小数位置(vendor\magento\zendframework1\library\Zend\Locale\Data)对应的语言
这里去掉 小数位数 vendor\magento\module-catalog\view\base\web\js\
-
#开启维护模式 (teddy整理)
php bin/magento maintenance:enable
#关闭维护模式
php bin/magento maintenance:disable
#删除所有生成的静态文件
rm -rf pub/static/*
#删除前台生成的静态文件
rm -rf pub/static/frontend/Teddy/default/css
#删除后台生成的静态文件
rm -rf pub/static/adminhtml
#只删除后台生成的静态文件样式(css)
rm -rf pub/static/frontend/Teddy/default/en_US/css/*
rm -rf var/view_preprocessed/pub/static/frontend/Teddy/default/en_US/css/*
#删除缓存var后台生成的静态文件(和pub目录下一起操作)
rm -rf var/view_preprocessed
#只生成前台
php -dmemory_limit=1G bin/magento setup:static-content:deploy -f -t Teddy/default -a frontend
#只生后成台
php -dmemory_limit=1G bin/magento setup:static-content:deploy -f -a adminhtml
#带众多参数
php -dmemory_limit=5G bin/magento setup:static-content:deploy -f -t Teddy/default --content-version 1222216 --no-css --no-less
#清除缓存
php bin/magento cache:flush
#权限配置
chmod -R -
以前没注意这个情况,就是商品页面无故消失,后台 会员列表消失,等相关问题,这衫没注意索引,在索引时,发现了这个异常
说明提示这个 skipping 问题出现在数据表锁表的情况,正确的方式进行 bin/magento indexer reset 修复一下,即可
-
app\design\frontend\Magentoucd\teddy\etc
view.xml 修改生成缓存图片大小与详细页图片显示方式
语言包
app\design\frontend\Magentoucd\teddy\i18n
主题布局
app\design\frontend\Magentoucd\teddy\Magento_Theme\layout\
default_head_blocks.xml 头部加载
default.xml 默认
app\design\frontend\Magentoucd\teddy\Magento_Theme\templates
link.phtml 头部与底部链接调用
messages.phtml 操作提示文件
app\design\frontend\Magentoucd\teddy\Magento_Theme\templates\html
header.phtml 冰部
footer.phtml 底部
copyright.phtml 底部版权
topmenu.phtml 目录导航菜单
pager.phtml 分页
title.phtml 页面标题
app\design\frontend\Magentoucd\teddy\Magento_Theme\web\css\source\
_module.less 公共部分css
商品管理
\app\design\frontend\Magentoucd\teddy\Magento_Catalog
商品管理布局
\app\design\frontend\Magentoucd\teddy\Magento_Catalog\layout
default.xml 默认方式
catalog_category_vie -
为了简化顾客在注册,操作下剤时的步骤,试着去掉lastname ,这里,首先跟据Magento 1.x 方式要去掉lastname 验证,在数据库中进行
UPDATE eav_attribute SET is_required = 0 WHERE attribute_code = ‘lastname’ 这个表有两条lastname 数据,这里要把 is_required 字段改为0
另外在Magento2 中找到vendor\magento\module-customer\Model\Customer.php 与 vendor\magento\module-customer\Model\Address\AbstractAddress.php
去掉相关lastname相关字段的判断即可,测试可以进行本站注册与下单
-
有朋友问我是选Magento1x还是选Magento2x做B2C网站,当问到这个问题时,我会反问一些项目的情况
如:开发预算,人员配置,维护成本,是做什么产品,对Magento使用情况,等做一些了解,这样我会给出一个确切的选择,当然Magento1.x是可以升级到Magento2.x的
这里通过我的经验给大家分享一下 Magento1.x与Magento2.x 区别 ,官方有说明2018年停止更新Magento1.x稳定性
Magento1.0到今天Magento1.938,时间有10年周期,有相当长的一个开发经历,众多的开发者与站点,维护成本较低
Magento2.0到今天Magento2.2只有2年时间,而且bug较多,异常较多,维护成本较高扩展性
Magento1.0 扩展插件较多,包括支付接口,物流接口,大多数有成品模块
Magento2.0 扩展目前对比1.x会少很多,支付、物流开发模块较少,购买成品插件较贵,安装配置比较麻烦模板制作
Magento2.x对比Magento1.x,不光要熟悉 css,html,jquery,bootstrap,还要对less,gurant等前端工具有了解,xml 标签也做了重构,门槛高了很多,并不像Magento1那样所见即所午,需要部署与生成,设试过程效率底速度与性能
Magento2.x速度可以说是很大的提高,前端采用了jquery+requir,Magento1.x是采用的prototype.js,后台操作
Magento2.x界面,操作菜单是采用主流的纵向,简洁方面, Magento1.x操作横向,操作方面个人感觉不是不好,有很多异常的报错,响应速度较慢,在可配置商品添加时这里改进是不错的维护
Magento2.x -
Magento2 后台添加商品报"theme_dir"错误(同时也有保存图片路径错误)
这里可以尝试
vendor/magento/framework/View/Design/Fallback/Rule/Simple.php.将这个段注释掉改为 return [];
//throw new \InvalidArgumentException("Required parameter '{$placeholder}' was not passed"); -
报错内容:Something went wrong while saving this configuration: Area is already set
修改
vendor/magento/module-email/Model/AbstractTemplate.phppublic function setForcedArea($templateId)
{
if ($this->area) {
throw new \LogicException(__('Area is already set'));
}
$this->area = $this->emailConfig->getTemplateArea($templateId);
return $this;}
to