网站首页技术文章

opencart模块二次开发教程

发布时间:2017-06-06编辑:admin阅读(142)

    开发模块

    编写OpenCart模块可以很好地了解OpenCart的基础知识如何运作。就像OpenCart的其余部分一样,模块遵循MVCL设计模式。本文档指南将介绍如何使用每个MVC-L组件来创建模块管理前端部分。创建模块的最简单方法是HostJars下载DIY Module Builder框架该模块包含有关如何理解和构建自己的模块的目录结构,文件和说明。这个页面是一个更理论的指导。

    基本目录结构

    您的模块的基本文件结构将分为两部分,即管理员和目录文件夹。每个文件夹的内容将分别遵循MVC-L框架,区别在于管理员将仅处理后端功能,并且具有前端功能的目录。您的模块的用户将在商店的管理端进行交互并配置其设置。因此,admin文件夹中的文件将处理其设置的任何更改,模块在管理中的显示方式,安装/卸载模块等。同样,模块的显示方式及其在前端的工作原理的商店将由目录文件夹中的文件处理。

    文件结构

    上图显示了您的模块应该遵循的目录结构的框架。开始使用模块的好方法是复制文件夹结构并创建上述文件。这些文件中的内容取决于您的模块尝试完成的功能,但基本功能将在以下部分中详细介绍。

    管理模块功能

    当商店所有者使用您的模块时,他们将需要在管理员中编辑模块的配置选项,以确定显示模块的布局,无论是启用还是禁用,以及任何模块特定选项。作为模块开发人员,您将需要创建可以编辑模块的管理页面,并添加或调整配置选项。

    所有管理员文件位于admin /文件夹中。您将在admin /文件夹中找到四个文件夹:

    1. 调节器

    2. 视图

    3. 语言

    4. 模型

    所有模块将在每个视图和控制器文件夹中至少需要一个文件。大多数将需要每个模型和语言文件夹中的文件。通常这些文件具有相同的名称,但视图文件具有不同的后缀(.tpl)。我们将逐个浏览这些文件。

    MVCL

    调节器

    您制作的第一个文件将是您的模块的管理界面页面的控制器。OpenCart只需通过读取您商店的admin / controller / module文件夹即可自动识别现有模块。此文件夹中存在的任何模块将自动显示在“ 模块”页面和“ 用户权限 ”页面上。你可以调用你的控制器文件my_module.php。

    控制器文件是您可以加载语言文件以将文本转换为要在模板文件中使用的变量的位置。在上图中,您可以看到$ _ ['text']变量由控制器处理,然后作为$ text发送到视图。您还将在这里使用多个模型文件及其类函数,包括模块的模型文件(如果有的话)。有关加载文件的更多信息,请参阅在控制器中加载文件

    您还可以将函数定义为public function install()。当在“ 扩展”>“模块”页面上单击安装链接时,将触发此功能类似地,当单击卸载链接时,将触发定义为public function uninstall()的函数。您可以使用这些功能来创建和删除模块所需的任何结构(如数据库表或配置设置)。创建一个卸载功能来清理模块所做的任何更改是一个好习惯。要查看install(),uninstall()的具体代码,请访问安装/卸载模块

    通过URL访问

    控制器是MVC-L框架中由OpenCart访问的唯一文件。在管理中,URL将看起来像/admin/index.php?route=module/my_module&token。管理员将一个令牌添加到URL,而目录中的链接将不会。因此,控制器文件将具有定义为public function index()的函数。这是由URL加载的可公开访问的“页面”,当单击“编辑”按钮时将显示该视图,以及视图表单将提交到的页面。提交的数据将在此函数中处理,并通过控制器的配置对象保存到`settings`数据库表中。

    视图

    模块管理界面的第二个必需文件是视图文件。这将在admin / view / template / module文件夹中创建,后缀为.tpl。这是OpenCart视图文件的标准。在此文件中,您将创建一个表单供用户填写并提交。它将被提交给模块控制器的索引函数。创建视图文件的最简单方法是复制并粘贴现有的类似视图文件,并编辑窗体以包含模块配置选项的正确字段。您可以调用视图文件my_module.tpl。

    在视图中,您将能够从控制器文件存储为PHP变量的语言访问文本。请参阅在Controller中加载文件以获取有关如何执行此操作的代码。

    模型

    模块在管理端需要一个模型文件是不常见的。但是,如果您的模块依赖于自己的数据库表或自定义查询来创建特定格式的数据,那么您可能会发现自己编写一个模型文件。一个例子可能是,如果您正在编写访问者计数器模块,其中每个访问者都存储在数据库表中,其IP地址和访问次数。然后,您可以创建一个模型文件,并具有在OpenCart数据库中定义和创建此额外表的功能。模型文件将存在于admin / model / module文件夹中。您可以将模型文件称为my_module.php,与您的控制器和语言文件相同。

    前端模块功能

    模块的前端遵循刚刚描述的管理界面相同的模式。您将在每个前端文件中包含的内容在很大程度上取决于您的模块应该做什么。模块可以访问OpenCart中已存在的任何模型文件,如果相同的查询已经存在,则不需要编写自己的数据库查询。例如,目录/产品模型包含许多有用的查询产品。使用这些模型功能应优先于重新发明车轮。

    模块前端的一个主要区别是,您的视图文件将位于catalog / view / theme /(themename)/ template / module文件夹中。这是一个显着更深层次的文件夹结构的管理视图文件,因为主题。OpenCart商店可能有许多不同的前端主题,但只有一个管理模板。(THEMENAME)

    在模块的前端部分,您可以通过控制器的配置对象和传递给模块控制器的索引函数的$ settings变量访问模块保存的配置选项。您可以根据这些设置控制前端显示的各个方面。



    收录情况:百度已收录,点击查看详情
    本文地址:http://luvial.cn/content/10069.html
    转载请保留原文地址!

    如果您觉得本文对您有帮助,且您有经济能力,欢迎捐助本站
标签: opencart 二次开发 模块开发
上一篇:nodejs项目部署在服务器无法使用公网ip访问的解决方法
下一篇:PHP检测并清除文件开头的BOM头