opencart3.0之插件开发 | 您所在的位置:网站首页 › opencart模板定制 › opencart3.0之插件开发 |
首先我们来查看一个插件的目录结构 (显示最近游览商品的插件) 这个插件里主要的是upload文件夹 和install.xml文件。 upload文件夹里一般都新增的文件,也有些是会覆盖的文件(同名同路径),但覆盖的文件是不可逆的,也就是说如果要卸载这个插件,那么覆盖之前的文件也会被删除,会造成程序文件缺失。所以如果不是必须的,我们最好在upload文件夹中不要有会覆盖的文件。 install.xml 文件的开头内容是声明插件合适的opencart的版本,以及开发者的相关信息,主体内容是修改程序的代码片段。 简单的讲解一下 插件安装到实现的原理: 上传插件 -> 解压文件 -> 将解压后upload下的文件移动到对应的目录 并将文件路径记录到数据库中,然后将install.xml文件的内容记录到数据库中 -> 更新ocmod配置,系统根据 保存的install.xml文件内容生成 改动后的缓存文件在 /storage/modification目录下,opencart在执行代码时,会优先执行缓存中的文件,跳过原来的文件。 关于install.xml文件添加修改代码片段的常用属性说明 request->get['product_id']) ? $this->language->get('text_add') : $this->language->get('text_edit'); ]]> >request->get['product_id']) ? '' : $this->request->get['product_id']; ]]>通过以上的说明,可以知道我们将新增的文件按照对应的路径放入upload空文件夹里,然后将install.xml文件和upload文件夹压缩命名为 xxxx.ocmod.zip,插件就完成了。这里需要额外说明一个情况,如果没有新增文件,只有install.xml文件,那么这个插件也是需要新建一个空的upload目录,我经过代码追踪查询到 安装插件的程序中会检查是否含有upload目录,如下图。 制作心得:插件的制作其实不是特别难,但插件的兼容性是一个比较繁琐的问题,因为插件和插件之间也可能会有冲突的地方,针对于不同版本也会有冲突的地方,所以想要真正的做好一个插件,还是要对应好每一个文件和每一段代码。 |
CopyRight 2018-2019 实验室设备网 版权所有 |