我正在使用 opencart。我想将幻灯片从“内容顶部”更改为“标题”。这意味着,我想将幻灯片移到顶部菜单上方,并且它还将显示在每个页面中,而不是仅显示在主页中。
我已经完成了以下步骤: 第一:在管理员三个“slideshow.php”文件(控制器、语言和视图文件夹)中添加一个名为“header”的位置。第二:我修改了header.php:(在控制器文件夹中的“//menu”代码块之后添加这些代码)
$layout_id = 1;
$module_data = array();
$this->load->model('setting/extension');
$extensions = $this->model_setting_extension->getExtensions('module');
foreach ($extensions as $extension) {
$modules = $this->config->get($extension['code'] . '_module');
if ($modules) {
foreach ($modules as $module) {
if ($module['layout_id'] == $layout_id && $module['position'] == 'header' && $module['status']) {
$module_data[] = array(
'code' => $extension['code'],
'setting' => $module,
'sort_order' => $module['sort_order']
);
}
}
}
}
$sort_order = array();
foreach ($module_data as $key => $value) {
$sort_order[$key] = $value['sort_order'];
}
array_multisort($sort_order, SORT_ASC, $module_data);
$this->data['modules'] = array();
foreach ($module_data as $module) {
$module = $this->getChild('module/' . $module['code'], $module['setting']);
if ($module) {
$this->data['modules'][] = $module;
}
}
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
$this->template = $this->config->get('config_template') . '/template/common/header.tpl';
} else {
$this->template = 'default/template/common/header.tpl';
}
$this->render();
第三:在 header.tpl 文件中添加代码:仍然,在“//menu”代码块之前。(在视图文件夹中)
<div>
<?php foreach ($modules as $module) { ?>
<?php echo $module; ?>
<?php } ?>
</div>
现在,问题是:banner.tpl 中的 javascript 代码将不再运行。然而幸运的是,slideshow.tpl 中的 javascript 代码仍然可以运行。
因此,目前,网站在首页的菜单之前的标题位置显示横幅,但幻灯片效果没有。如果您设置两张照片,它们都将显示在首页。他们不会再彼此改变。