- 博客(52)
- 资源 (1)
- 收藏
- 关注
原创 shopify应用开发,shopify二次开发,shopify中文开发教程
通过这个shopify中文教程学会shopify的二次开发后,无论是想自己在shopify官方开店,给自己的店铺增加功能,还是单纯的以个人开发者名义开发shopify的app上架到shopify应用市场进行销售,赚取收益,都可以从这本shopify应用实战开发小册中掌握到全部技能。大家可以在码小课中学习该教程,本小册一共分为二十几章内容,从shopify创建店铺,到创建shopify项目代码,进行二次开发编写代码,最终将自己开发的app上线等完整功能。最后,祝愿大家早日掌握shopify二次开发技能。
2024-05-06 16:30:18
466
原创 Linux常用服务部署实战三(万字长文):分布式存储-GlusterFS
glusterfs是一个免费,开源的分布式文件系统(它属于文件存储类型主要由 Z RESEARCH 公司负责开发。GlusterFS 具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS 可以将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据,可为各种不同的数据负载提供优异的性能。GlusterFS 主要由存储服务器(Brick Server)、客户端以及 NFS/Samba 存储网关组成。
2024-01-13 16:50:27
926
原创 Linux常用服务部署实战二:部署LVS高可用集群
今天给大家介绍一本小册,Linux常用服务器部署实战。Linux常用服务器部署是作为一名运维工程师必须掌握的高级技能,这本小册讲解了学习常用服务器服务部署。我们来看一下这本小册的目录:本小册介绍了一些Linux常服务的搭建和部署,是运维工程师必备技能。本文内容转载自 【码小课】,码小课是一个在线小册学习,在线PDF书籍学习平台,感兴趣的同学可以搜索码小课。本篇文章为大家分享第一小节内容:部署linux网络安装服务器什么是PXE预启动执行环境(PXE)是由Intel公司开发的最新技术,工作于Client/S
2024-01-13 16:42:48
387
原创 Linux常用服务部署实战一:Linux运维高级技能分享
今天给大家介绍一本小册,Linux常用服务器部署实战。Linux常用服务器部署是作为一名运维工程师必须掌握的高级技能,这本小册讲解了学习常用服务器服务部署。我们来看一下这本小册的目录:本小册介绍了一些Linux常服务的搭建和部署,是运维工程师必备技能。本文内容转载自 【码小课】,码小课是一个在线小册学习,在线PDF书籍学习平台,感兴趣的同学可以搜索码小课。本篇文章为大家分享第一小节内容:部署linux网络安装服务器什么是PXE预启动执行环境(PXE)是由Intel公司开发的最新技术,工作于Client/S
2024-01-13 16:37:37
924
原创 magento2中的UpgradeSchema脚本-upgradeschema.php介绍
假设它在每次setup:upgrade上运行,其中setup_module.schema_version低于<VendorName>/<ModuleName>/etc/module.xml下的setup_version,如果我们要发布模块的更新版本,我们需要正确地提升<VendorName>/<ModuleName>/etc/module.xml的setup_version,否则UpgradeSchema就没有多大意义。同样,我们应该始终确保针对特定的模块版本,从而避免在每次版本更改时执行代码。
2023-09-04 14:06:50
100
原创 magento2中的InstallSchema脚本-installschema.php文件介绍
这两种方法的实现涉及运行额外的环境设置步骤,例如设置SQL_MODE和FOREIGN_KEY_CHECKS,如在Magento\Framework\DB\Adapter\Pdo\Mysql下所示。createTable:从DDL对象创建表此处的magelicious_core_log表本质上是magelicious\core\Model\log简单模型后面的存储。然而,在EAV模型的情况下,实际的属性severity_level和note可能会通过InstallData脚本添加。此脚本仅在启用模块时运行。
2023-09-04 14:06:15
86
原创 magento2中模型model常用的方法
EAV和简单模型都是从Magento\Framework\Model\AbstractModel类扩展而来的,该类进一步扩展了Magento\ Framework\DataObject。设置<AttributeName],例如$object->setPackagingOption('plastic_bag')uns<AttributeName>以下一组方法用于处理数据转换:toArray:将对象数据的数组转换为$keys数组中请求的具有键的数组。toString:将对象数转换为具有预定义格式的字符串。
2023-09-04 14:05:36
82
原创 magento2创建一个模型-model
虽然Magento使用<ModuleName>_<ModelName>约定进行$_eventPrefix命名,但使用<VendorName>_<ModuleName>_<ModelName>可能更安全。按照约定,$_eventObject通常带有模型本身的名称。这里的_init方法采用两个参数:$mainTable参数的magelicious_core_log值和$idFieldName参数的entity_id值。$_eventPrefix和$_eventObject的使用不是强制性的,但强烈建议使用。
2023-09-04 14:04:57
54
原创 magento2中的事件Events和观察者详细介绍
这些事件是使用Magento\Framework\event\Manager类调度的,该类实现了Magento\ Framework\event \ ManagerInterface。要调度事件,我们只需调用事件管理器实例的调度方法,为其提供我们正在调度的事件的名称以及我们希望传递给观察者的可选数据数组。Magento\Sales\Model\Order等,我们可以看到,这些实体类型中有很多本质上是从Magento\Framework\Model\AbstractModel扩展而来的,
2023-09-04 14:04:19
67
原创 magento2中的Plugin机制--after方法详解
所有其他参数都是observe方法的参数。插件必须返回相同类型的$result|$data变量,因为我们可以自由修改值。传递给插件的第一个参数是一个观察到的类型实例。进入插件的第二个参数是观察到的方法的结果,通常调用$result或在从observed方法返回的变量之后调用(如下面的示例:$data)。使用插件时应特别小心。虽然它们提供了很大的灵活性,但也很容易引发错误、性能瓶颈和其他不太明显的不稳定性——如果几个插件都在观察相同的方法,情况更是如此。顾名思义,after插件是在观察到的方法之后运行的。
2023-09-04 00:16:04
42
原创 magento2中的Plugin机制--around方法详解
around插件的实现是通过Magento\GroupedProduct\Model\ResourceModel\Product\Link\RelationPersister类的aroundDeleteProductLink方法提供的。插件必须返回与原始函数相同的值,理想情况下返回$proceed(…around插件围绕观察到的方法运行,使我们能够在原始方法调用前后运行一些代码。这是一个非常强大的概念,因为我们可以更改传入的参数以及函数的返回值。传递给插件的第一个参数是观察到的类型实例。
2023-09-04 00:15:08
71
原创 magento2中的Plugin--before方法详解
如果观察到的方法被调用getSomeValue,那么插件方法被调用beforeGetSomeValue。before-plugin方法的第一个参数始终是观察到的实例类型,通常缩写为$subject或直接由类类型缩写——在我们的示例中是$processor。插件方法必须返回一个数组,该数组的参数类型和数量与观察到的方法的输入参数相同。before插件,顾名思义,在观察到的方法之前运行。本篇文章我们为大家介绍一下magento2中的Plugin机制中的before方法。
2023-09-04 00:14:08
35
原创 magento2中的工厂模式factory,factories详解
让我们快速了解一个自动生成的工厂,即Magento\Newsletter\Model\SubscriberFactory,然而,有时,如果我们偶然发现意外的结果,运行bin/magento setup:di:compile控制台命令,使用工厂的美妙之处在于,大多数时候,我们甚至不必编写它们,因为它们是由Magento自动生成的,它们的目的是实例化不可注入的类——那些我们不应该直接注入到__construct中的类。工厂是创建其他类的类,很像对象管理器,只是这次我们被鼓励直接使用它们。
2023-09-04 00:12:44
63
原创 magento2中的Proxy代理模式详解
正确执行此操作的方法是使用原始Magento\Customer\Model\Url类型指定__construct,Magento\Customer\Module\Url\Proxy都会被传递。Proxy类的组成显示了它包装原始Magento\Customer\Model\Url类型的机制。编译后,可以在生成的/code/Magento/Customer/Model/Url/Proxy.php。文件下轻松找到Magento\Customer\Model\Url\Proxy.php类型。
2023-09-04 00:11:33
39
原创 magento2中使用ZendFramework
根据Zend Framework案例研究,可在https://www.zend.com/topics/Magento-CS.pdf。有了Zend框架,Magento在创建和定制模块、为系统开发新功能方面具有很大的灵活性,以及维护核心代码。Magento项目选择使用行业标准的PHP和Zend框架,因为它具有极其简单、面向对象和灵活的解决方案。对于开发人员来说,对Zend组件的基本理解可能会很有趣,可以利用这个伟大的MVC框架。有很好的web服务支持将Magento与不同的软件解决方案集成以共享数据。
2023-09-04 00:09:29
40
原创 盘点100个可以学习magento开发的网站
码小课-码小课是一个在线学习的知识分享平台,提供小册学习,文章学习。): 虽然不是专门针对Magento的网站,但该博客涵盖了电子商务和在线零售的多个方面,可能会涉及一些Magento相关内容。): Cyrill Schumacher是Magento核心开发者,他的博客包含了有关Magento的深入文章。): Magenticity的Magento Quickies系列,提供有关Magento的短小而有用的技巧。): Tutorial Magento是一个专门的博客,提供有关Magento的教程和技巧。
2023-08-18 10:50:10
193
原创 magento2中的UpgradeSchema脚本-upgradeschema.php介绍
假设它在每次setup:upgrade上运行,其中setup_module.schema_version低于//etc/module.xml下的setup_version,如果我们要发布模块的更新版本,我们需要正确地提升//etc/module.xml的setup_version,否则UpgradeSchema就没有多大意义。当涉及到UpgradeSchema脚本时,数据库适配器实例的以下方法以及前面提到的方法将是令人感兴趣的:dropColumn:从表中删除列。dropTable:从数据库中删除表。
2023-07-26 10:53:51
55
原创 magento2中的InstallSchema脚本-installschema.php文件介绍
这两种方法的实现涉及运行额外的环境设置步骤,例如设置SQL_MODE和FOREIGN_KEY_CHECKS,如在Magento\Framework\DB\Adapter\Pdo\Mysql下所示。createTable:从DDL对象创建表此处的magelicious_core_log表本质上是magelicious\core\Model\log简单模型后面的存储。然而,在EAV模型的情况下,实际的属性severity_level和note可能会通过InstallData脚本添加。此脚本仅在启用模块时运行。
2023-07-26 10:52:17
45
原创 magento2中模型model常用的方法
EAV和简单模型都是从Magento\Framework\Model\AbstractModel类扩展而来的,该类进一步扩展了Magento\ Framework\DataObject。设置<AttributeName],例如$object->setPackagingOption(‘plastic_bag’)uns。以下一组方法用于处理数据转换:toArray:将对象数据的数组转换为$keys数组中请求的具有键的数组。toString:将对象数转换为具有预定义格式的字符串。码小课magento专区。
2023-07-25 09:45:52
73
原创 magento2创建一个模型-model
值得注意的是,magelicious_core_log表仍然不存在,但我们稍后将对此进行说明。按照约定,$_eventObject通常带有模型本身的名称。Magento为此使用了<FULLY_QUALIFIED_CLASS_NAME>::CLASS语法,这些值由Magento\Framework\Model\AbstractModel事件调度器使用,并增加了我们模块未来的可扩展性。_eventObject的使用不是强制性的,但强烈建议使用。因为它使用了一个漂亮的解决方案,而不是四处传递类字符串。
2023-07-25 09:44:22
53
原创 magento2中的事件Events和观察者详细介绍
这些事件是使用Magento\Framework\event\Manager类调度的,该类实现了Magento\ Framework\event \ ManagerInterface。要调度事件,我们只需调用事件管理器实例的调度方法,为其提供我们正在调度的事件的名称以及我们希望传递给观察者的可选数据数组。Magento\Sales\Model\Order等,我们可以看到,这些实体类型中有很多本质上是从Magento\Framework\Model\AbstractModel扩展而来的,
2023-07-24 14:29:12
108
原创 magento2中的Plugin机制--after方法详解
所有其他参数都是observe方法的参数。插件必须返回相同类型的$result|$data变量,因为我们可以自由修改值。传递给插件的第一个参数是一个观察到的类型实例。进入插件的第二个参数是观察到的方法的结果,通常调用$result或在从observed方法返回的变量之后调用(如下面的示例:$data)。使用插件时应特别小心。虽然它们提供了很大的灵活性,但也很容易引发错误、性能瓶颈和其他不太明显的不稳定性——如果几个插件都在观察相同的方法,情况更是如此。顾名思义,after插件是在观察到的方法之后运行的。
2023-07-24 14:25:46
67
原创 magento2中的Plugin机制--before方法详解
before-plugin方法的第一个参数始终是观察到的实例类型,通常缩写为$subject或直接由类类型缩写——在我们的示例中是$processor。插件方法必须返回一个数组,该数组的参数类型和数量与观察到的方法的输入参数相同。让我们来看看Magento在插件实现之前的一个,magento2的插件机制允许我们对指定方法运行之前或者之后对该方法进行动态修改,包括对方法的参数、返回值等。before插件,顾名思义,在观察到的方法之前运行。插件方法的所有其他参数必须与观察到的方法的参数匹配。
2023-07-23 14:42:29
79
原创 magento2中的设计模式--工厂模式factory,factories详解
magento2中使用了大量的设计模式,而工厂模式在magento2中的应用属于范围最广的一种设计模式,本文就为大家介绍一下magento2中的工厂设计模式。然而,有时,如果我们偶然发现意外的结果,运行bin/magento setup:di:compile控制台命令,我们可以看到数千个工厂示例,分布在MAGENTO的大多数模块中。使用工厂的美妙之处在于,大多数时候,我们甚至不必编写它们,因为它们是由Magento自动生成的,工厂是创建其他类的类,很像对象管理器,只是这次我们被鼓励直接使用它们。
2023-07-23 14:39:52
53
原创 magento2中的设计模式-Proxy代理模式详解
Magento生成的每个代理都实现了Magento\Framework\ObjectManager\NoninterceptableInterface。正确执行此操作的方法是使用原始Magento\Customer\Model\Url类型指定__construct,Proxy类的组成显示了它包装原始Magento\Customer\Model\Url类型的机制。文件下轻松找到Magento\Customer\Model\Url\Proxy.php类型。例如,对getLoginUrl方法的调用将通过代理。
2023-07-23 14:36:54
48
原创 magento2依赖注入--通过参数的方式实现magento2的依赖注入详解
但是,如果以后通过更具体的作用域或通过代码加载任何新配置,则新配置中的任何数组定义都将替换加载的配置,而不是合并。magento2的依赖注入使用了xml文件进行配置,很多学习magento2的小伙伴对于xml文件比较陌生,而且对于依赖注入的原理不是很清楚,而依赖注入在现代软件开发中是非常重要的。本文件为大家讲解magento2中依赖注入比较重要的一个知识点,通过参数的方式实现magento2的依赖注入。magento2中的依赖注入主要依靠于di.xml文件中的reference和type来定义。
2023-07-23 14:31:56
102
原创 什么是magento2中的virtual type,magento2虚拟类型的使用方法详解
这里,我们定义了两个虚拟类型,每个类型都更改了Magento\LayeredNavigation\Block\Navigation类的filterList参数。在这种情况下,它是通过类型定义使用的,其中存储参数完全被虚拟类型取代。magento2中的虚拟类型是Magento的一个非常巧妙的功能,它允许我们更改特定可注入依赖项的参数,从而更改特定类类型的行为。这实际上是告诉Magento,对于类别视图页面和搜索页面,使用类的虚拟类型,从而指示它完成虚拟类型中指定的所有参数更改。
2023-07-23 14:28:30
59
原创 magento2中的js语法-requirejs方式的js语法
第二种方式适合应用于页面某个元素绑定某个事件,js文件中可以接受到该元素对象,对其绑定click,submit事件等。magento前端页面大量应用了这种方式,其本质为magento封装了requirejs,转换为单独的写法。第一种方式适合应用于页面加载完,引入一个js文件的场景。以上内容来自码小课-magento专区。
2023-07-19 20:00:15
119
原创 magento2模板与javascript-在指定页面引入js
shim:指定依赖关系: banner对应path定义的别名banner,deps:指定依赖于jquery库。path: 定义别名 banner 对应的文件为 js/banner/banner.js(省略后缀名.js)上面的方法和之前的全局css文件类似,所有页面都将引入homepage.js文件。以上内容为requirejs配置js文件引入语法。以上内容来自码小课-magento专区。如果针对指定模块,应该怎么引入js呢?新建banner.js。
2023-07-19 19:58:02
158
原创 安装Magento2-命令行方式
命令行安装是Magento提供的从终端安装Magento 2的替代方法。以下是继续安装的步骤:打开终端并转到本地Magento安装的目录。下一步是在项目目录中运行Composer。以使用本地配置安装Magento。也就是说,这是一个长命令,您可以自定义它以匹配您的本地配置。现在您已经在本地机器上安装了Magento,您可以使用之前声明的URL访问Magento。访问前端的URL将是。来确认您在正确的目录中。命令行安装使用Magento 2中的命令行工具完成。访问管理面板的URL将为。
2023-07-17 16:07:41
337
原创 如何学习Magento2
就在你认为你了解Magento的一切时,一个新版本发布了,有新的功能可以发现。包含了视频、网络研讨会和出版物,涵盖按类别组织的有用信息:订单管理、营销和商品销售、国际扩张、客户体验、移动架构和技术、性能和可扩展性、安全、支付和欺诈、零售创新和业务灵活性相关内容。也就是说,这本书将成为您的指南,帮助您发现实施、管理和维护第一家Magento商店所需的一切。关于每个Magento安全补丁的信息,以及保持Magento商店安全的最佳实践和指南。即将举行的Magento活动的官方列表,包括现场活动和网络研讨会。
2023-07-17 15:53:17
50
原创 Docker镜像的知识学习,看这一篇就够了
Docker运行容器前需要本地存在对应的镜像,如果镜像不存在,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。
2023-07-12 22:47:21
71
原创 学习Docker镜像相关知识,看这一篇就够了
Docker运行容器前需要本地存在对应的镜像,如果镜像不存在,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。
2023-07-12 22:46:33
54
原创 Docker端口映射,看这一篇就够了。
在访问一些网络服务时,需要指定端口,如nginx的80端口,mysql的3306端口等。端口映射的简单理解就是从宿主机要访问到容器的某个ip开放的指定端口。多docker相关知识,就在码小课: maxiaoke.com。在运行容器时,可以指定-P或-p参数进行端口映射。宿主机端口:容器端口。
2023-07-12 22:45:56
491
原创 Redis中的String类型应用场景,看这一篇就够了。
在分布式系统中,用户的每次请求会访问到不同的服务器,这就会导致session不同步的问题,假如一个用来获取用户信息的请求落在A服务器上,获取到用户信息后存入session。下一个请求落在B服务器上,想要从session中获取用户信息就不能正常获取了,因为用户信息的session在服务器A上,为了解决这个问题,使用redis集中管理这些session,将session存入redis,使用的时候直接从redis中获取就可以了。当setnx返回1时,表示获取锁,做完操作以后del key,表示释放锁;
2023-07-12 22:44:41
292
原创 Redis中的Hash类型的应用场景,看这一篇就够了。
类似map的一种结构,将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存到redis中,以后每次读写内存时,就可以操作hash里的某个字段。可以将一个对象的所有属性以键值对的形式存储在 Redis 的 Hash 类型中,然后可以通过 HGET 和 HMGET 命令来获取对象的属性值,通过 HSET 和 HMSET 命令来修改对象的属性值。我们可以通过hash这种数据类型实现关系型数据库中数据表的存储形式,同时,redis的字段列是不固定的,更加灵活,不会像关系数据库一样,产生冗余字段。
2023-07-12 22:42:53
1634
原创 做外贸网站,选magento还是shopify,对比两个平台的优势与劣势
研究表明,在18-39岁之间的消费者中,有69%的人会在购买前使用移动设备研究产品。接下来,我们看看Magento的优势:1)有一个庞大的用户社区,提供全面的支持。1)只有10个主题是免费的,如果你想要更多选择,就需要投资购买优质主题。他们提供的主题选择更广泛,通常更现代化,而Magento的主题则注重功能性。3)在附加组件方面,Magento拥有超过5,000个扩展名,可以帮助扩展商店功能。2)Magento是一个非常灵活的平台,可以提供完全的自由度,没有对商店设计的限制。1)需要编程知识才能使用。
2023-06-26 18:38:57
184
原创 一文读懂Magento的系统架构及分层结构
在本主题中,我们将讨论Magento 2的体系结构。Magento 2的架构与Magento 1完全不同。它的架构旨在使源代码尽可能广泛和模块化。这种方法的主要目的是允许它根据项目的需要轻松调整和定制。每个业务逻辑和功能都以模块的形式设计。因此,每个模块都可以作为一个独立的单元工作。Magento 2具有Model View ViewModel(MVVM)架构。此 MVVM 体系结构在模型层和视图层之间提供了更强大的分离,因为它与模型视图控制器 (MVC) 密切相关。
2023-06-26 18:37:40
260
原创 详细盘点六个Magento2中的产品及其类型
学习Magento开发:点击查看:-->Magento 2不仅可以帮助我们管理商店,还可以灵活地处理多种产品。Magento 2甚至可以灵活地定制一个可以满足我们所有业务需求的定制产品。我们可以通过多种变体在Magento 2中创建可配置的产品。在创建产品之前,我们需要创建产品的类别。Magento 2默认支持六种类型的产品。这些是:简单的产品可配置产品分组产品虚拟产品捆绑产品可下载产品要在Magento 2商店中添加新产品,请参阅下一章。
2023-06-26 18:36:15
190
原创 详细盘点magento2的12个优点和缺点
Magento 2与以前的版本完全不同。Magento 2是一个用户友好的电子商务平台。如果我们想使用Magento 2,那么我们还应该了解它的优缺点。它有优点和一些缺点,如下所示。
2023-06-26 18:36:08
455
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人