热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

magento2所需要php扩展,magento2.X主题和插件的安装教程

很长一段时间,我困惑于如何安装一个magento的主题和插件,可能是长时间对wordpress的琢磨而不能自拔了。好的,今天就跟大家讲讲&

9d95ee6338d8713bd6ed81622b399d9b.png

很长一段时间,我困惑于如何安装一个magento的主题和插件,可能是长时间对wordpress的琢磨而不能自拔了。好的,今天就跟大家讲讲:magento2.1主题和插件的安装教程

我们先去网络上下载对应的主题和插件,比如主题:yume主题,插件比如:Banners插件

下载下来后,我们也不要急着安装,先解压看下文件结构,因为很多主题或者插件结构需要对应好,才能被检测到。

主题我们需要看registration.php这个文件,插件也是registration.php这个文件,里面有写这个文件的目录是怎么样的。

我们就以yume这个主题来说,这里需要说明的是,我们下载主题后,有些主题很简单,可能什么也没有,这个一般不怎么靠谱,主题应该是有很多个文件夹和必要的配置文件,以及说明文件组成的:registration.php、theme.xml、config.xml、composer.json等,这些文件应该都要有。如果觉得下载主题不靠谱我们可以打开magento默认的主题luma和下载主题对应一下,看下这些文件是否差不多,毕竟主题不一样,文件也有所差异,但是这些必要的文件应该是需要有的。好了,我们检查好了这一步后,我们就能够进行主题目录的定位,我们下载下来的主题应该放在magento的哪个目录下呢?

注意:以下的内容会很重要,需要仔细阅读。

magento1和magento2可能有点不一样,我这里是以magento2.1作为讲解的。registration.php文件夹里的代码如下:

* Copyright © 2015 Magento. All rights reserved.

* See COPYING.txt for license details.

*/\Magento\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\ComponentRegistrar::THEME,

'frontend/Venustheme/yume',__DIR__);

说明这个是在magento根目录/app/design/frontend/Venustheme/yume,所以我们下载主题的名字应该是Venustheme文件夹,里面再有一个yume文件夹,最后就是一些文件夹和文件了,这就是主题的文件结构,可能大家还是有点困惑,大家不妨把luma主题用来做对比,luma的registration.php文件的代码如下:

* Copyright © 2013-2017 Magento, Inc. All rights reserved.

* See COPYING.txt for license details.

*/\Magento\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\ComponentRegistrar::THEME,

'frontend/Magento/luma',__DIR__);

luma主题文件虽然在magento根目录/vendor/magento/theme-frontend-luma下,这个Magento是默认的,所以如果要重写,可能就在这个文件夹里添加代码。

起初,我还把Venustheme这个主题放了一份在magento根目录/vendor/magento/下,并且命名为magento根目录/vendor/magento/theme-frontend-yume,不知道这样是否可行,大家可以去折腾下,反正我是很肤浅的这样复制粘贴,说明我根本没有理解透彻这个主题的设计。当然我这个做法可以用来备用,万一有些个别情况,有的人根据上面的指导还是不行的话,或许我这种拙劣的经历会有一些启发。

选择好了,然后查看没啥问题后,就上传,然后就运行命令:

magento setup:upgrade

magento setup:di:compile

这样进入到后台—内容—主题,这个时候你就会看到新添加的yume就出现了。

2120.jpg

然后进入到配置那里,把默认的luma变成新添加的主题,然后刷新前台,就会发生样式上的变化,当然这个仅仅是用作测试,如果用于生产环境,最好找个上好的主题,进行安装配置即可。

如果我们想变回默认主题也很简单,直接在内容—配置—选择默认的主题—进行主题切换—选择luma主题。

好了,我们再来说说安装插件吧

我们下载好了插件的文件后,也是一样的,先看registration.php文件,里面的代码大致如下,这里我以banners这个插件作为讲解。

\Magento\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\ComponentRegistrar::MODULE,

'FME_Banners',__DIR__);

虽然我们下载下来的名字是fme-banners-1.0.4,但是我们从上面的代码可以看出插件的文件名应该是FME,然后里面有个Banners文件夹,再里面才是放源码的。这个很重要,这些目录具体怎么样,是由这个registration.php决定好了的。明白这个后,我们就需要解决:插件应该放哪里呢?哪个目录?

magento2.1的插件目录是:magento根目录/app/code(如果没有这个目录,就自己新建一个)/插件位置,比如我要放FME这个插件,那么它的目录就是magento根目录/app/code/FME,

然后我们就在magento根目录下运行命令:

php bin/magentomodule:status//查看插件情况

这个时候会在最后显示有个没有被启用的插件:FME_Banners

然后就是启用这个插件,运行命令:

php bin/magentomodule:enable FME_Banners//启用特定的插件的写法

如果我们一次性上传了好几个插件的话,然后我们要全部启用这些,该怎么办,我们就不用一个一个的运行启用了,直接运行如下命令:

php bin/magentomodule:enable--all//启用所有插件

启用好了后,我们就运行如下命令:

php bin/magento setup:upgrade

更新一下magento,有的时候可能还要运行一下如下命令:

php bin/magento setup:di:compile

完毕后,进入magento后台,就可以看到安装好的扩展了。

这里会有一个特殊情况,比如我们在安装插件的时候,我们已经安装了Mageplaza,这个是一个系列的,就是类似wordpress中的woocommerce的一样,我们可以在magento后台看到Mageplaza这个区块的内容,也有Mageplaza Marketplace,如果我们在这里上面下载的插件的话,当然我们还是要想前面说那样把插件的文件结构确定好,然后命好名,上传的路径不是magento根目录/app/code,而是magento根目录/app/code/Mageplaza,道理很简单,它的和注册文件为:

\Magento\Framework\Component\ComponentRegistrar::register(\Magento\Framework\Component\ComponentRegistrar::MODULE,

'Mageplaza_Seo',__DIR__);

所以插件的名字就是应该是:Seo,然后在Seo文件夹下就是插件的源代码。这个值得大家注意,事实上,我下载的这个插件(seo_v1.4.1.2_ce_mageplaza)目录结构如下

718.jpg

所以很多时候,不能下载下来就觉得万事大吉了,我们还得看下插件的文件结构,再决定下一步怎么做。相信将来还会遇到更复杂的情况,只要保持冷静,对比,尝试,观察,我们就能举一反三。

有的时候,我在安装一个扩展的是,是一个PDF的扩展,然后报错了,说是没有一个文件或是某个函数什么的,我们在安装插件出错了怎么办,不要着急,根据以下方法走就行。

如果想彻底删除的话,直接删除有问题的插件的文件,就是在magento根目录/app/code/下的需要删除的插件的文件夹。然后更新一下magento,运行命令:

php bin/magento setup:upgrade

或者是,不删除但是我们直接禁用这个有问题的插件,这里我以插件FME_Banners为例,运行命令:

php bin/magentomodule:disable FME_Banners

这样就禁用了这个插件了,然后更新一下,运行命令:

php bin/magento setup:upgrade

好了,以上就是magento2.1版本中的插件和主题的安装讲解.

【转载来源】http://www.habotalk.com/magento/1967.html



推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 本文介绍了一个Magento模块,其主要功能是实现前台用户利用表单给管理员发送邮件。通过阅读该模块的代码,可以了解到一些有关Magento的细节,例如如何获取系统标签id、如何使用Magento默认的提示信息以及如何使用smtp服务等。文章还提到了安装SMTP Pro插件的方法,并给出了前台页面的代码示例。 ... [详细]
  • 安装WLWSupport插件组合使用WindowsLiveWriter,完美支持标签编辑,别名,摘要,上传;完全可视化。WindowsLiveWriter支持有metaweblog ... [详细]
  • PHP WEB项目文件夹上传下载解决方案
    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploadsonoff是否允许通过http方式上传文件2.max_execution_time3 ... [详细]
author-avatar
流浪者时空
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有