首先嘛,你得有点编程底子,如果没有,没关系,你爱折腾也行。那么,下面我们来说说vqmod的插件制作。
<!-- PS:写在前面,能不抄袭吗?转载注明出处。。-->
我做OC的二开很久了,但是从来都没用过vqmod,因为比较懒吧?然后那天我去翻看了vqmod的文档,一下子就上手了,虽然不能说得上很熟练,但是基本逻辑还是领悟了。
首先,了解下vqmod,官方文档有说明,意思就是在不更改核心文件的前提下,去生成一个缓存文件,其实他是把核心文件的更改后生成的缓存文件,所以如果插件引起网站错误,那么只需要卸载XML即可,不会导致网站无法修复。
那么,了解到这一点,我们就可以开始了。vqmod的基础信息文档有说明,我这里只说下重要部分,看下下面代码。
- <file name="admin/language/english/catalog/product.php">
- <operation>
- <search position="before"><![CDATA[
- $_['column_image'] = 'Image';
- ]]></search>
- <add><![CDATA[
- $_['help_look'] = '查看';
- $_['help_look_no'] = '未发布无法查看';
- ]]></add>
- </operation>
- </file>
首先,file 标签这里,name的是定义需要修改的文件,一个operation标签里面是一个修改的地方,比如你要修改多个地方就需要多个这样的标签,里面有 search,也就是搜索,和 add标签,也就是添加,或者替换。
position 后面的参数有几个,一个是 after,也就是搜索到的内容下面添加,一个是 before ,也就是搜索的内容前面添加,还有一个是 replace ,也就是替换。
如果要搜索的第二个值怎么办呢?添加 index="2" ,以此类推。
那么,示例中的代码的意思就是,打开:admin/language/english/catalog/product.php 这个文件,搜索
- $_['column_image'] = 'Image';
然后在上面添加
- $_['help_look'] = '查看';
- $_['help_look_no'] = '未发布无法查看';
这样下来,就会得到一个缓存文件,里面的代码就是增加了这个内容的代码。
缓存文件在vqmod下的vpcache文件夹。
比如:vq2-catalog_controller_product_category.php
也就是对应的:catalog/controller/product/category.php 文件
下面再举例:
- <file name="admin/controller/catalog/product.php">
- <!-- 打开 admin/controller/catalog/product.php 文件 -->
- <operation> <!-- 开始一个修改 -->
- <!-- 搜索一个内容,在代码下面添加 -->
- <search position="after"><![CDATA[
- $data['text_form'] = !isset($this->request->get['product_id']) ? $this->language->get('text_add') : $this->language->get('text_edit');
- ]]></search>
- <!-- 添加的内容 -->
- <add><![CDATA[
- $data['product_id'] = !isset($this->request->get['product_id']) ? '' : $this->request->get['product_id'];
- ]]></add>
- </operation> <!-- 一个修改结束 -->
- <operation> <!-- 再一个修改开始 -->
- <!-- 搜索一个内容,在代码上方添加 -->
- <search position="before"><![CDATA[
- $data['column_image'] = $this->language->get('column_image');
- ]]></search>
- <!-- 添加的内容 -->
- <add><![CDATA[$data['help_look'] = $this->language->get('help_look');]]></add>
- </operation><!-- 结束 -->
- <operation>
- <!-- 搜索的代码,由于有两个,选择第二个,然后替换 -->
- <search position="replace" index="2"><![CDATA[
- $data['text_enabled'] = $this->language->get('text_enabled');
- ]]></search>
- <!-- 替换的内容 -->
- <add><![CDATA[
- $data['help_look'] = $this->language->get('help_look');
- $data['help_look_no'] = $this->language->get('help_look_no');
- ]]></add>
- </operation>
- </file> <!-- 全部结束 -->
上面的代码,都附上了注释,大家应该可以看得懂,其实是我的某个插件的代码,不过我为了拿来讲解,修改了一些地方。大家也可以去下载我免费提供的插件查看示例和学习。
插件下载:
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助