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. java 读取配置文件(nx就转了)

    借鉴别人的 package test; import java.io.FileInputStream; import java.io.FileNotFoundException; import jav ...

  2. CentOS6.6安装mysql-5.7.25二进制安装包简易教程

    #####1,安装前首先确认系统版本 [root@bogon:~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@bogon:~] ...

  3. SQL SEVER (ROLLUP与CUBE,ROW_NUMBER())使用方法

    1.建立测试专用数据: if object_id('TESTDB') is not null drop table TESTDB ), B INT) insert into TESTDB union ...

  4. 死磕itchat源码--content.py

    content.py中定义了接受消息的类型,即,用于注册消息函数时的参数类型.源码如下: TEXT = 'Text' MAP = 'Map' CARD = 'Card' NOTE = 'Note' S ...

  5. List或者Map等对象创建语句放在循环外和循环内的区别

    每一个对象创建的时候都会有一个ID,List对象在执行add方法的时候是将对象的引用放入List中. 如果把创建Map对象的语句放在外面,在将对象add到List中时,前后向List中add的对象都是 ...

  6. Hadoop 技术笔记

    Flume与Kafka Flume 是一个分布式,可靠的,可用的服务,有效的收集,聚合和移动海量的日志数据.它有一个简单而灵活的架构,基于流数据流.具有很好的冗余和容错性,以及可靠性和多故障转移和恢复 ...

  7. Python爬虫2------爬虫屏蔽手段之代理服务器实战

      1.代理服务器: 一个处于客户端与互联网中间的服务器,如果使用代理服务器,当我们浏览信息的时候,先向代理服务器发出请求,然后由代理服务器向互联网获取信息,再返回给我们. 2.代码: import ...

  8. [长期更新]模板&算法学习情况

    这里仅作为自我检查用,模板代码请移步其他博文 标+的表示已学完,标?的表示需要进一步学习,标-的表示有计划但未开始学习,标*的表示暂时没有计划学习 数学 ?BSGS +FFT&NTT ?Luc ...

  9. Mysql插入语句.txt

    INSERT INTO 目标表 SELECT * FROM 来源表;比如要将 articles 表插入到 newArticles 表中,则是:INSERT INTO newArticles SELEC ...

  10. Spring 静态工厂实例

    直接上代码,看注释. 创建实体类: package com.spring.classs; public class Test {    private String name;    private ...