OpenCart在侧栏上显示自己的模块

时间:2013-11-01 12:25:27

标签: php module opencart frontend

我在OpenCart 1.5.5中使用某种新闻模块在侧栏中工作。我已经将它全部运行在后端,但我不知道如何将此模块module/aselsi设置到主页,产品页面和类别页面的右侧栏。

我已经查看了一些源代码,但我并不完全理解这个特定的东西是如何工作的。 我确实尝试通过在数据库表格oc_layout and oc_layout_route中插入一些信息来使其工作,但这也无效。

所以我的问题是:如何在首页上制作我的扩展/模块?

1 个答案:

答案 0 :(得分:3)

running in the back-end我猜你已经为你管理新闻的某个表单创建了一个自定义控制器,模型和视图。没关系。

但是因为这应该是一个模块你还必须为这个模块创建一个后端部分,以便它可以安装并分配给某些页面上的布局。最简单的方法是复制这些文件:

  • admin/controller/module/banner.php
  • admin/language/<YOUR_LANGUAGE>/module/banner.php
  • admin/view/template/module/banner.php

进入新的

  • admin/controller/module/aselsi.php
  • admin/language/<YOUR_LANGUAGE>/module/aselsi.php
  • admin/view/template/module/aselsi.php

并将所有类名,常量,模型和语言文件名重命名为banneraselsi。在此之后您应该在Extensions&gt;下看到一个新的 Aselsi 模块。管理中的模块您应该能够将此模块分配给页面和位置......

只想提一下简单的复制粘贴+重命名是不够的,你还需要编辑其他一些部分才能使其正常工作。

编辑:我现在不在代码处,但是,是的,你是对的,它与你在评论中提到的那条线有很多关系。每个模块设置都保存为序列化字符串(这是一个序列化数组),其中包含模块设置 - 布局,位置,排序顺序等。关键是模块键 - aselsi在您的情况下与所有其他模块一样,它们都有自己的模块。仅安装模块您可以将模块设置为活动但您可以通过保存模块的设置来显示模块。在前端控制器中,对于左侧,右侧列和顶部和底部内容,随后将填充活动模块,并将所有设置显示在该布局上,然后显示该位置。< / p>

模块的安装/卸载(在后端)可以扩展到例如通过实现installuninstall方法及其各自的逻辑,为该模块添加/删除新数据库和/或更改当前数据库表(通过添加新列等)。

我希望这个简单的解释有所帮助。