Я работаю с opencart.
Я хочу изменить слайд-шоу с «содержимого сверху» на «заголовок».
Это означает, что я хочу переместить слайд-шоу над верхним меню, и оно также будет отображаться на каждой странице, а не только на главной странице.
Я сделал следующие шаги:
1-й: добавьте позицию с именем «header» в три файла «slideshow.php» администратора (папки контроллера, язык и просмотр).
2-е: я изменил 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();
3-й: добавить коды в файл header.tpl: неподвижно, перед блоком кода "// меню". (в папке просмотра)
<div>
<?php foreach ($modules as $module) { ?>
<?php echo $module; ?>
<?php } ?>
</div>
Теперь проблема в следующем:
коды javascript в banner.tpl больше не будут работать.
К счастью, javascript-коды в slideshow.tpl по-прежнему работают.
Таким образом, в настоящее время веб-сайт отображает баннер в позиции заголовка перед меню на домашней странице, но эффект слайд-шоу - нет.
Если вы установите две фотографии, они будут отображаться на первой странице. Они больше не изменятся друг с другом.