vQmod (全称 Virtual Quick Mod),是 OpenCart (PHP 开源电商网站系统)上一个可以以虚拟方式修改原文件内容而设计的一个插件系统。它的使用很简单,我们先用 xml 的方式编写出要搜索的代码行,和要被替换的新代码,然后 vQmod 会按照这些规则将系统对应的原始文件动态地代码,并保存为缓存文件。然后系统将会执行这些缓存文件,而不是原来的原始文件。这样的好处是我们不用直接在原始代码上直接做更改。这样我们后期升级 OpenCart 版本时,就不用再修改一次原文件了。

为什么我们需要 vQmod?

我们知道开源系统是一个不断升级的过程。OpenCart 的发展非常快,不定期的就会有新的版本出现。相信大部分的 OpenCart 用户都或多或少需要对原系统的文件做一些定制。不可避免地需要修改一些 php 和 tpl 文件。如果没有一个虚拟修改系统,我们对原文件的修改在我们升级了或者重新安装了 OpenCart 后将全部丢失,然后又需要把原来做的修改工作在新的版本上再修改一遍。这就成了一个硬伤。

对于第三方插件开发者来说,如果没有 vQmod,插件将没办法动态修改原始文件。必须要手动去修改内容,这会使得插件的开发和安装都非常不方便。毫无疑问地说,OpenCart 的成功 vQmod 功不可没。vQmod 的出现使得插件开发的二次开发变得很容易。开发者可以开发出功能千奇百怪的插件。而用户也可以很方便地安装和升级这些插件。

vQmod 功能特点

  • 不直接更改源文件内容。所有的的修改都是“虚拟”的,正如 vQmod 名称里的 Virtual;
  • 源文件在被执行时被动态修改,并使用原文件名生成新的缓存文件;
  • 将 xml 放在 vqmod/xml 下即可生效,移除文件即恢复原文件;
  • 不用担心升级系统源文件后丢失定制的代码;
  • 安装方便、编写 xml 规则简单易学;
  • 支付替换、前插入、后插入、行内替换等多种修改方式;
  • 支持使用正则表态式搜索和替换内容;
  • 支持搜索替换偏移量;

相信大家对 vQmod 的使用已经有了一个了解,下面就给大家分享下我们应该如何安装 vQmod呢?

vQmod 支持 OpenCart 1.4.x、OpenCart 1.5.x 和 OpenCart 2.x

自动安装 vQmod

  1. 首先下载 vQmod 安装包。需要注意的是,vQmod 不单支持 OpenCart,下载时请下载 OpenCart 专用的版本(Github 下载)或 国内镜像下载
  2. 将下载的 zip 安装包解压,然后使用 FTP 工具将 vqmod 文件夹上传至 OpenCart 网站的根目录下;
  3. 修改权限。需要将 vqmod 文件夹和 vqmod/vqcache 文件夹修改为 755 或 777 权限;同时,要将根目录的 config.php 和 admin/config.php 同样有 755 或 777权限(先试 755,如果不行再改为 777)。
  4. 然后直接在浏览器中访问 vqmod/install 执行安装(http://www.xxx.com/vqmod/install);
  5. 如果安装成功,可看到成功消息,如果失败,回到第 3 步修改权限再重复第 4 步安装;

如果安装成功的话,你会在 vqmod/vqcache 下面看到一个新生成的文件。此时你可以上传你的 xml 文件,然后浏览网站看是否有缓存文件在 vqcache 下生成(所有 vQmod 生成的缓存都会保存在 vqmod/vqcache 目录下)。

需要说明的是,多次访问 vqmod/install 不会有任何危险。如果安装失败,在修改文件和文件夹权限后,可放心多次访问。并且 install 目录不要删除。

好了,现在 vQmod 就安装好了,是不是很简单?

OpenCart 如何安装 vQmod 教程的更多相关文章

  1. IntelliJ IDEA - 热部署插件JRebel 安装使用教程

    IntelliJ IDEA - JRebel 安装使用教程 JRebel 能做什么? JRebel 是一款热部署插件.当你的 Java-web 项目在 tomcat 中 run/debug 的时候 , ...

  2. Zabbix3.x安装图解教程

    准备知识: Zabbix3.x比较之前的2.0界面有了很大的变化,但是安装部署过程与2.x基本完全一样. 1.Zabbix2.x安装图解教程 http://www.osyunwei.com/archi ...

  3. VMware vCenter Server安装图解教程

    安装说明: 1.安装VMware vCenter Server的主机操作系统为:Windows Server 2008 R2 2.在Windows Server 2008 R2中需要预先安装好SQL ...

  4. 在RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程

    在RedHat.Enterprise.Linux_v6.3系统中安装Oracle_11gR2教程 本教程提供PDF格式下载: 在RedHat.Enterprise.Linux_v6.3系统中安装Ora ...

  5. Zabbix安装图解教程

    说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需 ...

  6. MapGIS6.7安装图文教程(完美破解)

    mapgis安装比较简单,主要注意在安装的时候,先打开软件狗,然后再进行软件安装,一般就不会照成其他安装失败的现象,有时候安装之前没有打开软件狗也安装成功了,也有这情况,不过软件使用也需要软件狗的支持 ...

  7. VirtualBox安装Ubuntu教程

    1.VirtualBox虚拟机安装,及VirtualBox安装Ubuntu教程VirtualBox版本为VirtualBox-4.3.12-93733-Win.exe,Ubuntu版本为ubuntu- ...

  8. MySQL5.0版本的安装图解教程

    MySQL5.0版本的安装图解教程是给新手学习的,当前mysql5.0.96是最新的稳定版本. mysql 下载地址 http://www.jb51.net/softs/2193.html 下面的是M ...

  9. ENVI5.1安装破解教程

    原文地址:  ENVI5.1安装破解_百度经验 http://jingyan.baidu.com/article/020278118b5ded1bcd9ce57a.html   ENVI5.1_x86 ...

随机推荐

  1. Swift中self和Self

    Self相当于oc中的instance 是什么 相信大家都知道self这个关键字的具体作用,它跟OC里的self基本一样.但是对于Self来说...(WTF,这是什么东西) 当你用错Self的时候编译 ...

  2. swift Self

    'Self' is the type of a protocol/class/struct/enum.And the 'self' is a instance of a class/struct/en ...

  3. ZJOI2015 幻想乡战略游戏 动态点分治_树链剖分_未调完

    Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来, ...

  4. 【airtest】iOS,Android 依托 jenkins 并行跑

    Airtest 只支持一台mac 连接一台iPhone,  以下方法是以“一台mac 连接一台iPhone”为基础,依托jenkins 统一管理多台iPhone. [mac] jenkins mast ...

  5. Day 08 字符编码

    字符编码 计算机基础 启动应用程序 1.双击QQ 2.操作系统接受指定然后把该操作转化为0和1发送给CPU 3.CPU接受指令然后把指令发给内存 4.内存接受指令把指令发送给硬盘获取数据 5.QQ在内 ...

  6. 会话cookie和持久化cookie实现session

    当你第一次访问一个网站的时候,网站服务器会在响应头内加上Set- Cookie:PHPSESSID=nj1tvkclp3jh83olcn3191sjq3(php服务器),或Set-Cookie JSE ...

  7. LaTeX soul包

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50774955 详细的soul包的官方P ...

  8. BA-BACnet对象

    BACNET协议有多少个对象呢,拿出西门子教程中的看看一下,居然有48个,其中的大部分都没有用到:

  9. [Beginning SharePoint Designer 2010]列表和库&内部内容类型

    本章概要: 1.SPS如何组织管理数据 2.如何创建列表和文档库 3.如何使用视图来过滤分类,分组列表和库 4.如何创建内容类型来应用一个定义好的结构到数据和文档中

  10. Android 自己定义View学习(2)

    上一篇学习了基本使用方法,今天学一下略微复杂一点的.先看一下效果图 为了完毕上面的效果还是要用到上一期开头的四步 1,属性应该要有颜色,要有速度 <?xml version="1.0& ...