1

我正在使用 OpenCart 1.5.5 开发侧边栏中的某种新闻模块。我已经在后端运行了它,但我不知道如何将这个模块module/aselsi分配到主页、产品页面和类别页面的右侧栏。

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

所以我的问题是:我怎样才能让我的扩展/模块出现在首页?

4

1 回答 1

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 > Modules 下看到一个新的Aselsi模块,您应该能够将此模块分配给页面和位置...

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

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

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

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

于 2013-11-01T13:22:02.283 回答