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

Cri*_*ris 5 php mysql opencart

假设我想在主页上显示特殊模块,其位置不同于$ content_top,$ content_bottom,$ column_left或$ column_right.我怎么做?如果您对此有一些经验,可以给我一些指示吗?

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

Jay*_*ord 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
));
Run Code Online (Sandbox Code Playgroud)

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

然后在模板文件中,您只需要<?php echo $special_block; ?>在模块的任何位置使用