opencart - 如何在模板文件中手动显示模块?

5

假设我想在首页上以不同于 $content_top、$content_bottom、$column_left 或 $column_right 的位置显示特殊模块。我该怎么做?如果您有相关经验,能给我一些指导吗?

该模块将在 home.tpl 中显示,但我认为我需要编辑控制器文件 home.php。


你使用的是哪个版本的OpenCart? - Jay Gilford
1个回答

10
要做到这一点,您需要编辑两个文件。
首先,您需要编辑控制器。在这个例子中,我将把特价商品添加到主页上。
因此打开控制器文件catalog/controller/common/home.php。在此行$this->response->setOutput($this->render());之前的某个地方添加以下内容。
$this->data['special_block'] = $module = $this->getChild('module/special', array(
    'limit' => 5,
    'image_width' => 80,
    'image_height' => 80
));

数组是模块的设置。请注意,布局、位置、状态和排序顺序在此处不包括,因为它们与此无关。我还使用了special_block作为内容的唯一键,以避免它与可能需要呈现的任何其他项发生冲突。

然后在您的模板文件中,您只需要在想要放置模块的地方使用<?php echo $special_block; ?>即可。


谢谢,我已经使用了专门的块来处理超级交易模块。但现在我遇到了更换要在模块中展示的产品的问题。它显示默认值,不知道该如何处理。 - Ashvin
你能提供更多有关动态显示模块的信息吗?我需要将Facebook小部件模块调用到页脚。因为我不想硬编码。我尝试了这段代码,但是出现了错误。错误:未定义变量:special_block。 - vasanth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接