OpenCart - 中文论坛

标题: opencart二次开发之vqmod开发 [打印本页]

作者: mengwb    时间: 2013-8-20 10:19
标题: opencart二次开发之vqmod开发
本人首次发此类帖子,谈下自己对oc开发的体会和总结,能力有限,如有谬误还望大家多多指正。希望大家多多讨论oc技术开发方面的只是,共同进步。

废话和客套话就不说了,直接说重点吧
vqmod是opencart插件开发必不可少的工具,它可以让开发人员不用去修改oc原有程序,而实现任何功能的修改,且使用方便,易学易用。下面就开始说下它的使用。

vqmod本质就是用xml文件描述对程序要做的调整。首先看一个例子
<modification>
        <id>Smart Export-Import- OpenCart 1.5.5.x core file</id>
        <version>1.5.5.x</version>
        <vqmver>1.1.0</vqmver>
        <author>wenbin.meng</author>

        <file name="admin/language/english/common/header.php">
                <operation>
                        <search position="after"><![CDATA[
                                $_['text_backup']
                        ]]></search>
                        <add><![CDATA[
                                $_['text_export']           = 'SmartExportImport';
                        ]]></add>
                </operation>
        </file>
</modification>

标签对<modification></modification>是此xml文件必须的,也是固定的,一成不变的。标签对内部的<id></>、<version></version>、<vqmver></vqmver>、<author></author>等标签对事对该文件的描述性信息,可根据自己需要设置标签对的内容(即开始标签和结束标签中间的内容)。<file></file>标签对是最重要的,是程序功能部分,同时<file></file>标签对可以有多个。下面重点说明。
<file>标签的属性name描述要修改的程序文件,对于此例子<file name="admin/language/english/common/header.php">表示要修改header.php文件。
<operation></operation>标签对描述对文件进行的修改,一个此标签对描述对程序文件的一处修改,一个<file></file>标签对内部也可以有多个<operation></operation>标签对。
以下
<operation></operation>标签对内部的<search>和<add>标签分别描述在当前修改的程序文件中搜索哪段代码,然后对搜索到的该段代码进行如何处理,after表示在其后增加新代码段,before表示在其前增加新代码段,replace表示替换此段代码。对于此例为在当前程序文件中搜索“$_['text_backup']”然后在其后增加新代码段。而<add>标签对中描述的即为要增加或替换新代码段,对于此例子即为在程序文件中搜索到的代码“$_['text_backup']”之后增加代码段“$_['text_export']           = 'SmartExportImport';”。“<![CDATA[”和“]]>”为代码段的开始和结束。
至此,vqmod的使用写完了,不知大家是否明白了。

[groupid=61]OpenCart开发团队[/groupid]
作者: mengwb    时间: 2014-1-7 11:13
补充:
如要在一个文件中的某句前加入一段代码,但该文件中搜索到多处有这句,可以使用index=“5”这样的方式来指定要在第五处的前面加入。
比如:              <search position="before" index="2,4,6"><![CDATA[xxxxxxxxxxxx]]></search>即在文件中搜索xxxxxxxxxxxx,在搜索到的第2,4,6处改行前面加入。

replace、after同理。


作者: 杰杰杰杰杰    时间: 2014-4-12 08:43
很受用。。谢谢。。
作者: netbarsw    时间: 2014-5-28 07:31
不错哦,最近正在关注vqmod这方面的开发




欢迎光临 OpenCart - 中文论坛 (https://bbs.opencart.cn/) Powered by Discuz! X3.2