
magento2
文章平均质量分 74
yuanzelin8
yuanzelin8
展开
-
magento2多站点,多个网站配置商店和商店视图创建步骤
Magento允许我们在单个Magento后端中设置和管理商店或域的多个实例。在本节中, 我们将介绍如何在Magento 2中设置多个网站, 商店和商店视图。在单个Magento 2后端中建立多个商店是Magento 2带给商店所有者的可变功能之一。此功能使我们可以在单个配置中创建所需数量的多个商店。所有商店都共享相同的域, 被设置为同一域的子域或具有完全不同的域, 但可能共享相同的后端以便于管理。步骤1:建立网站1.在Magento 2管理面板中, 转到商店>>设置>>原创 2021-01-29 09:15:25 · 1064 阅读 · 0 评论 -
Magento 2何时保留订单ID?
Magento 2何时确定哪个客户获得下一个连续的订单ID?它是从报价产生的,entity_id还是分配给先完成的订单?订单ID(entity_id)是sales_order表格的主键(自动递增)。这意味着先到先得。当订单存储在数据库中时,id递增。另一方面,increment_id订单上有。这是不同的。在结帐过程中通过调用方法将其保留\Magento\Quote\Model\Quote::reserveOrderId。这意味着一旦保留号码就不会更改。这就是为什么您可能会发现incre.原创 2020-06-20 09:04:31 · 218 阅读 · 0 评论 -
magento2 Fatal error: Uncaught Error: Call to a member function setActive() on boolean in
本地运行php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy -f出现如下问题Fatal error: Uncaught Error: Call to a member function setActive() on boolean in /var/www/html/vendor/magento/module-backend/Model.原创 2020-06-17 12:09:23 · 1750 阅读 · 0 评论 -
Magento2 配置完HTTPS后突然登录不了了
问题现象:Magento2 加了HTTPS的配置,然后后台输入用户名密码提交后,不提示任何错误,又返回到了登录的初始状态中。直接清理浏览器缓存后再登陆或换个新浏览器就可以登陆了数据库配置SSL配置...原创 2020-06-03 16:27:53 · 469 阅读 · 0 评论 -
本地用xdebug远程调试mgtdev2服务器的项目
调试代码的时候 我们一般都是直接echo/var_dump/或者log的形式来调试。如果代码很复杂 变量很多 输出的时候内存爆了 直接500错误。对于这种大数据的情况 用xdebug来调试会方便些。测试环境 服务器: ubuntu + php7.1 + xdebug 客户端IDE: sublime text3 调试的项目域名:http://zou-m2-ee.mgtdev2.iggo.fi 调试的项目服务器上路径:/var/www/zou-m2-ee.mgt.原创 2020-05-23 11:12:14 · 482 阅读 · 0 评论 -
magneto2中SEO在线分析工具
一般用sitechecker来分析网站seo。官网:https://sitechecker.pro原创 2020-05-23 11:11:23 · 300 阅读 · 0 评论 -
magento2遇到问题,我该怎么做
M2碰到问题是家常便饭,千万不要慌。我们应该这样做:一,查看错误信息1,nginx或者apache的错误日志本教程的nginx错误日志在:/var/log/nginx/error.log (nginx服务器的总错误日志)/var/log/magento2/nginx/error.log (该项目下的nginx错误日志)2,项目var/log下面的日志debug.log exception.logsystem.log这3个log都要看下。一定要记得看。特别是No原创 2020-05-23 11:09:43 · 2640 阅读 · 0 评论 -
M2后台可视化编辑器里的一些标签变量用法
在后台可视化编辑器里插入url或者图片时,经常要用到标签变量。一,网店url{{store url='translation/ajax/index'}}对应的真实url为:http://mag2.com/translation/ajax/index/二,主题或者插件里面的文件{{view url=images/logo.svg}}对应的真实url为:http://mag2.com/pub/static/frontend/Magento/blank/en_US/images/logo.原创 2020-05-23 11:09:08 · 435 阅读 · 0 评论 -
magento2在线创建插件模块
有个在线创建插件的神器,大家有兴趣可以试试。http://www.silksoftware.com/magento-module-creator/magento2x.php注意:这个我没实测过,不敢保证没问题。谨慎使用。或者用这个网站的,我觉得界面更优雅一些:https://mage2gen.com/也可以用命令行创建:https://mage2gen.com/commandline/...原创 2020-05-23 11:08:22 · 296 阅读 · 0 评论 -
Magento2常用工具
一般用gtmetrix来测速https://gtmetrix.com/测速跟其他网站对比原创 2020-05-23 11:07:35 · 238 阅读 · 0 评论 -
magento2如何在代码里创建属性
社区版只能在后台创建产品属性,其他的比如customer/category属性只能用代码来创建。因为product/customer/category都是eav模型结构,所以要创建属性。也就是把属性存到对应的eav属性值表里去。比如customer属性,是varchar的话,它的属性值就保存在customer_entity_varchar里。虽然eav_entity_type表里也有order/invoice/creditmemo/shipment这些实体。但是这几个实体 不是把属性值存到对应的属原创 2020-05-23 11:04:50 · 663 阅读 · 0 评论 -
如何创建cron任务和功能
案例分析:每5分钟检查所有pending的订单,如果有超过3小时的pending订单就自动cancel掉。以下代码以Zou_Demo插件为例。代码都写在Zou_Demo插件里。1,crontab.xml里定义cron,设置时间和类vim etc/crontab.xml<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespac原创 2020-05-22 23:10:11 · 616 阅读 · 0 评论 -
插件修改记录
2018.07.12 修改了Custom Field #1's Description设置后不显示的问题后台设置的Custom Field #1's Description没有在实体店编辑页面显示出来主要改了Zou\Demo\Block\Adminhtml\PhysicalStore\Edit\Tab\Form里的代码。这2个地方 之前写错了。 导致没有找到后台设置的内容。2018.07.13 添加了如何创建cron任务和功能,每5分钟cancel掉pending订单的案例代码。具体讲解在原创 2020-05-22 23:09:30 · 172 阅读 · 0 评论 -
magento2插件如何升级
插件安装运行了几个月,主管说还得加个功能,要再加个表。那就得升级插件版本号了。比如版本号升级为0.1.1。1,修改UpgradeSchema.php那么你数据库相关的操作代码就写在:vim Setup/UpgradeSchema.php....public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { if (version_compare原创 2020-05-22 23:08:58 · 339 阅读 · 0 评论 -
难点解析
1,这个代码应该是页面的布局吧 能解释下什么意思吗?这行代码在Zou_Demo/Block/Adminhtml/PhysicalStores.php里,是后台PhysicalStores首页列表的布局,demoadmin_physicalstore_index.xml里调用的。这个block代码主要实现2个功能:加载grid列表,也就是调用Block/Adminhtml/PhysicalStore/Grid.php 添加了一个按钮('Add New PhysicalStore'),在右原创 2020-05-22 23:08:26 · 378 阅读 · 0 评论 -
magento2插件如何调试
代码写完了,我们就可以启用该插件了1,先查看插件列表php bin/magento module:status...List of disabled modules:Zou_Demo会发现我们的插件是被禁用的。2,启用插件php bin/magento module:enable --clear-static-content Zou_Demophp bin/magento setup:upgradephp bin/magento setup:di:compile原创 2020-05-22 23:07:48 · 588 阅读 · 0 评论 -
magento2如何写代码
直接在Zou_Demo插件里开发。一,建表写在Zou\Demo\Setup\InstallSchema里。因为这是插件功能默认就要的,不是后期添加的。<?php/** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */namespace Zou\Demo\Setup;use Magento\Framework\Setup\InstallSch原创 2020-05-22 23:07:16 · 507 阅读 · 0 评论 -
magento2开发准备工作
思路如下:1,第一反应就是建数据表,确定对应关系2,建表模型(方便CURD,m2禁止直接用sql操作)3,后台页面控制器4,后台页面布局5,前台页面控制器6,前台页面布局7,调试页面并写css建表要建2个表,一个表记录实体店信息。表名为physical_store一个表记录实体店的店员信息。表名为physical_stores_staffphysical_store表结构如下:id in 11 自增id name VARCHAR 255原创 2020-05-22 23:06:35 · 573 阅读 · 0 评论 -
插件实战
项目实战某个品牌商在全国有多个实体店,并且每个实体店都有多个员工。需要后台添加实体店信息和旗下员工信息,然后在前台展示。非常典型的CURD插件项目见http://magento2demo.texiaoyao.cn/demo/physicalstore本插件的demo代码在https://gitee.com/zouhongzhao/magento2-action-extension-demo这个后台的CURD目前有两种方法做:用php写form和list 用ui component x原创 2020-05-22 23:06:00 · 181 阅读 · 0 评论 -
XML配置说明
di.xml 指定或重写Proxy<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <!-- for = 受影响的原始类或接口 --> <!-- type = 所依赖的Proxy --> <prefe原创 2020-05-22 23:05:07 · 432 阅读 · 0 评论 -
插件框架详解
插件就是模块,功能扩展。基本框架如下:etc/module.xml //插件配置文件composer.json //插件依赖,用来打包上传registration.php //插件注册文件这几个文件是必须的。因为我目前的项目是magento2demo,所以我的项目插件为Zou_Demo.也就是把针对该项目的所有修改(针对php逻辑代码部分)都放在Zou_Demo插件里。Zou -> 公司名 Demo -> 插件名 Block ->原创 2020-05-22 23:03:37 · 1385 阅读 · 0 评论 -
常见问题 四
54,'Vertex\Tax\Model\Flexfield\Processor\InvoiceFlexFieldProcessorInterface' not foundPHP Fatal error: Interface 'Vertex\Tax\Model\Flexfield\Processor\InvoiceFlexFieldProcessorInterface' not found in vendor/vertex/module-tax/Model/FlexField/Processor/Or原创 2020-05-21 23:07:53 · 397 阅读 · 0 评论 -
常见问题 三
38,js报错 Uncaught ReferenceError: Base64 is not defined2.2.6升级到2.3.0后,后台主题编辑页面 打不开 js有报错Uncaught ReferenceError: Base64 is not defined解决办法:找到下面这几个文件> /vendor/magento/module-email/view/adminhtml/ui_component/design_config_form.xml> /vendor原创 2020-05-21 23:07:20 · 9699 阅读 · 0 评论 -
magento2开发中常见问题 二
25,Warning: Error while sending QUERY packet.Warning: Error while sending QUERY packet. PID=2527 in vendor/magento/zendframework1/library/Zend/Db/Statement/Pdo.php on line 228这是数据库设置问题。先找到数据库配置文件vim /etc/mysql/my.cnf搜索这2个参数max_allowed_packet原创 2020-05-21 23:06:43 · 2813 阅读 · 0 评论 -
magento2开发中常见问题
1,Incompatible argument type: Required type: \Magento\Framework\DB\AdapterInterface把改成2,Fatal error: Allowed memory size of xxx内存不足的话,需要修改php.ini配置文件memory_limit 设为1024Mmax_execution_time 设为3603,The file "xxx/pub/media/tmp/catalog/product/i/n/i原创 2020-05-21 23:06:01 · 2393 阅读 · 0 评论 -
magento2中如何使用API
M2目前支持三种类型的APISOAP (很古老了,逐渐被淘汰) REST (最近这几年非常流行,目前的主流) GraphQL (很新,刚出来没几年,目前正当红)关于SOAP和REST是什么意思,有什么区别,请自行百度,在这就不赘述了。关于这三者的具体介绍和区别,直接看这篇文章就够了https://medium.com/postman-engineering/rest-soap-graphql-gesundheit-6544053f65cfGraphQL简单来说就是拥有SOAP和REST的所有优原创 2020-05-21 23:05:22 · 1789 阅读 · 0 评论 -
magento2如何安装插件
有很多人朋友说安装插件老出问题,不知道怎么安装才是最科学的方式。我在此解读下。插件有2种安装方式下载源代码解压安装 composer require安装下载源代码解压安装这是我们最常用的安装方式,你网站买的或者下载插件都要解压安装。解压后 都安装到app/code/目录下。比如mageplaza magento-2-social-login插件。https://github.com/mageplaza/magento-2-social-login可以手动下载源码包,然后解压到app原创 2020-05-21 23:04:33 · 1595 阅读 · 0 评论 -
如何安装主题
群里也有很多人反应买的主题安装不了。我在这里讲下怎么安装主题。1,下载主题 并解压。主题目录,在之前已经讲过了。在app/design/frontend/下面。如果你是买的主题(比如在themeforest买的),一般都很好安装。他里面都自带安装说明书。zou@ip:/var/www/magento2/pizzaro_package_2.0/magento2.x$ cd theme/zou@ip:/var/www/magento2/pizzaro_package_2.0/mage原创 2020-05-21 23:04:01 · 1665 阅读 · 0 评论 -
M2常用命令
卸载m2php bin/magento setup:uninstall显示后台管理员URIphp bin/magento info:adminuri卸载模块比如插件名为Zou_Testphp bin/magento module:uninstall --clear-static-content Zou_Test启用模块插件比如插件名为Zou_Testphp bin/magento module:enable --clear-static-content Zo原创 2020-05-21 23:03:01 · 1831 阅读 · 0 评论 -
下单/发票/发货/退货
前台下单先注册一个账号 再购买产品下单注册后,我们开启购物之旅你可以在后台设置paypal,使用paypal支付Configuration->Sales->Payment Methods注意: 购买成功后,你会收到一封order邮件后台创建invoice(开发票)注意: 创建invoice并勾选Email Copy of invoice后,你会收到一封invoice邮件发票创建完了,就可以发货了后台创建Ship(发货)M2默认只支持这4种物流原创 2020-05-21 23:02:23 · 845 阅读 · 0 评论 -
导入产品
手把手教后台导入csv产品表。包括简单产品和可配置产品的导入在哪里导入准备工作准备一个产品csv文件我这里准备了6个产品。5个简单产品和1个可配置产品。其中1个可配置产品其实包含了2个简单产品。也就是说shirt-black和shirt-red这2个简单产品是属于shirt这个可配置产品的。CSV第一行都是产品属性名称。Categories 表示放在哪个分类里,用分类名来区分 url_key 一般用小写字母和'-'。不能重复,每个产品的url_key都是唯原创 2020-05-21 23:01:13 · 532 阅读 · 0 评论 -
创建产品属性
以size为例,创建size属性。注意,size属性一般用于可配置产品中STORES->Attributes->Product保存后,就行了。再把该属性拖到默认属性集里去:然后打开产品编辑页面,会发现有这个选项:这样就ok了...原创 2020-05-13 12:09:47 · 226 阅读 · 0 评论 -
创建分类和产品
比如,我卖男装和女装。有2种分类,Mens 和 Womens创建分类完成后 保存。接下来创建Womens分类。因为Womens 和 Mens是平级关系,不是上下级关系。所以要先选中Default Category,双击打开再点击Add Subcategory好了,都创建完了,该去前台看看生效了没有。嗯 好了,出来了。接下来就开始创建产品创建产品以simple产品为例默认就是simple产品其他的默认就行。最后.原创 2020-05-13 12:09:19 · 347 阅读 · 0 评论 -
创建独立cms页面
比如创建一个关于我们(about us)的页面最后保存,点击右上角'Save Page'前台测试,访问urlhttp://magento2demo.texiaoyao.cn/about-us原创 2020-05-13 12:07:21 · 279 阅读 · 0 评论 -
创建多网店多域名以及安装中文语言包
M2支持多网站(website)多网店(store)多视图(store view)。关于这3者区别 请看官方介绍:https://docs.magento.com/m2/ce/user_guide/stores/websites-stores-views.html比如我有2个网店,中文站和英文站2个网站的分类和产品基本一样,只是翻译不同。如果只是翻译不同的话 可以用一个store+多store view。英文站(默认站) ->magento2demo.texiaoyao.cm 中..原创 2020-05-13 12:06:47 · 515 阅读 · 0 评论 -
如何升级php版本
M2的2.3.x版本不支持php7.0了,我们需要升级到7.1或者7.2。ubuntu里升级php版本也比较简单。以升级到php7.1为例。第一步:安装php源以及php7.1sudo apt-get update -ysudo apt install software-properties-commonsudo add-apt-repository -y ppa:ondrej/phpsudo add-apt-repository -y ppa:ondrej/nginxsudo ap原创 2020-05-13 12:05:47 · 1655 阅读 · 0 评论 -
安装phpmyadmin
有很多朋友用惯了phpmyadmin,不习惯用mysql客户端(比如nacicat)。并且他们根据网上的教程,自己安装过程中总是出现一大堆问题和报错,太不靠谱了。所以,我就亲自示范 来讲解如何安装nginx下的phpmyadmin。还是以ubuntu服务器为例讲解。第一步,安装phpmyadmin源代码注意:如果你之前已经安装配置过phpmyadmin,需要先卸载再重新安装。卸载phpmyadmin命令:sudo apt-get purge phpmyadmin再安装p原创 2020-05-13 12:05:15 · 792 阅读 · 0 评论 -
Mac系统安装LNMP
mac下主要用brew安装lnmpM2的2.3.x版本不支持php7.0了,我们需要安装到7.1或者7.2。环境如下:php 7.1mysql 5.7nginx 1.12升级brewbrew updatebrew upgrade配置源brew tap homebrew/dupesbrew tap homebrew/versions brew tap homebrew/homebrew-php安装php7.1先搜索下brew里面有哪些php版本..原创 2020-05-13 12:04:36 · 733 阅读 · 0 评论 -
创建git代码库
场景:类似github的方式线上网站(比如www.mymagento2.com)从git主库下载更新最新代码开发网站(比如test.mymagento2.com)也从git主库下载更新最新代码,同时上传最新代码到git主库。这样的话,就避免了代码混乱 不一致的情况。所以首先我们得先创建一个公共的git代码库。假设就放在当前网站的阿里云服务器上。假设你当前网站都已经安装运行好了。创建git用户创建git用户,并设置密码sudo adduser git会提示你输入密码。F原创 2020-05-13 12:03:17 · 508 阅读 · 0 评论 -
导入演示数据
分两种情况处理。如果你是用composer方式安装的非常简单,二行命令搞定:在项目根目录下执行。我们的是在/var/www/magento2/下面。安装演示数据php bin/magento sampledata:deploy更新数据库php bin/magento setup:upgrade这样就ok了,刷新下首页就有数据了。删除演示数据php bin/magento sampledata:remove重装演示数据php bin/magent原创 2020-05-13 12:01:28 · 392 阅读 · 0 评论