IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    略谈 vqmod for opencart 插件制作过程

    yumanutong发表于 2015-06-02 14:18:08
    love 0

    首先嘛,你得有点编程底子,如果没有,没关系,你爱折腾也行。那么,下面我们来说说vqmod的插件制作。

    我做OC的二开很久了,但是从来都没用过vqmod,因为比较懒吧?然后那天我去翻看了vqmod的文档,一下子就上手了,虽然不能说得上很熟练,但是基本逻辑还是领悟了。

    首先,了解下vqmod,官方文档有说明,意思就是在不更改核心文件的前提下,去生成一个缓存文件,其实他是把核心文件的更改后生成的缓存文件,所以如果插件引起网站错误,那么只需要卸载XML即可,不会导致网站无法修复。

    那么,了解到这一点,我们就可以开始了。vqmod的基础信息文档有说明,我这里只说下重要部分,看下下面代码。

    1. <file name="admin/language/english/catalog/product.php">
    2.     <operation>
    3.         <search position="before">search>
    4.             <add>add>
    5.     operation>
    6. file>

    首先,file 标签这里,name的是定义需要修改的文件,一个operation标签里面是一个修改的地方,比如你要修改多个地方就需要多个这样的标签,里面有 search,也就是搜索,和 add标签,也就是添加,或者替换。

    position 后面的参数有几个,一个是 after,也就是搜索到的内容下面添加,一个是 before ,也就是搜索的内容前面添加,还有一个是 replace ,也就是替换。

    如果要搜索的第二个值怎么办呢?添加 index="2" ,以此类推。

    那么,示例中的代码的意思就是,打开:admin/language/english/catalog/product.php 这个文件,搜索

    1. $_['column_image']           = 'Image';

    然后在上面添加

    1. $_['help_look'] = '查看';
    2. $_['help_look_no'] = '未发布无法查看';

    这样下来,就会得到一个缓存文件,里面的代码就是增加了这个内容的代码。

    缓存文件在vqmod下的vpcache文件夹。

    比如:vq2-catalog_controller_product_category.php

    也就是对应的:catalog/controller/product/category.php 文件

    下面再举例:

    1. <file name="admin/controller/catalog/product.php">
    2.     <operation> 
    3.         
    4.         <search position="after">search>
    5.             
    6.             <add>add>
    7.     operation> 
    8.     <operation> 
    9.     
    10.         <search position="before">search>
    11.         
    12.         <add>add>
    13.     operation>
    14.     <operation>
    15.         
    16.         <search position="replace" index="2">search>
    17.         
    18.         <add>add>
    19.     operation>
    20. file> 

    上面的代码,都附上了注释,大家应该可以看得懂,其实是我的某个插件的代码,不过我为了拿来讲解,修改了一些地方。大家也可以去下载我免费提供的插件查看示例和学习。

    插件下载:http://www.opencart.com/index.php?route=extension/extension&filter;_username=yumanutoong



沪ICP备19023445号-2号
友情链接