请有人告诉我如何在标题中定位滑块或横幅等模块,或者如何为模块定义其他区域。
答案 0 :(得分:7)
好吧,我正在努力。
首先,您应该在管理页面中添加新职位。 这意味着您应该更改三个文件并在每个文件中添加一些行。
例如,如果要将幻灯片添加到标题中,则应在
中添加新位置$this->data['text_header'] = $this->language->get('text_header'); // in admin/controller/slideshow.php
/////////////////////////////////////////////// /
$_['text_header'] = 'Header'; // in admin/language/slideshow.php
/////////////////////////////////////////////// /
<?php if ($module['position'] == 'header') { ?> // in admin/view/slideshow.tpl
<option value="header" selected="selected"><?php echo $text_header; ?></option>
<?php } else { ?>
<option value="header"><?php echo $text_header; ?></option>
<?php } ?>
然后定义了幻灯片放映的新位置。你可以在管理页面中选择它。
之后,您应该在catalog / view / header.tpl
中添加这些代码 <?php foreach ($modules as $module) { ?>
<?php echo $module; ?>
<?php } ?>
然后,在catalog / controller / header.php中,添加一些像content_top.php这样的代码: $ 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();
然后全部完成。
此代码的唯一问题是幻灯片无法显示为幻灯片,而是静态图片或图片。
希望你能解决它并回复我。 我的问题帖子: Opencart developement: change slideshow's position
答案 1 :(得分:2)
执行华为陈写的内容,然后将其添加到标题中:
<script type="text/javascript" src="catalog/view/javascript/jquery/nivo-slider/jquery.nivo.slider.pack.js"></script>
<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/slideshow.css" media="screen" />
和滑块将正常工作
答案 2 :(得分:1)
您可以从controller / common / column_right.php
学习检查模块位置(第50行),您可以将其调整为“标题”:
$module['position'] == 'column_right'
设置输出(第69行),您可以将其调整为“header_mod”:
$this->data['modules']
您需要在admin处修改模块以显示其他模块位置 管理页面上没有“标题”模块位置选项。
答案 3 :(得分:1)
您还可以使用在页眉和页脚中放置2个位置的扩展程序。它会创建相同的挂钩,例如column_left
和content_top
等。
答案 4 :(得分:0)
我认为这个扩展会让你的生活变得简单。 http://www.opencart.com/index.php?route=extension/extension/info&token=extension_id=14467
您可以在标题中添加无限数量的排名,添加列并通过管理员更改宽度
此致
答案 5 :(得分:0)
本指南对我有所帮助:
http://www.mywork.com.au/blog/create-new-module-layout-position-opencart-1-5/
我使用的是1.5.6.1 Opencart版本。
答案 6 :(得分:0)
我读了你所有的答案。忘了一切。 将任何模块调用到标题部分非常容易。
打开您的catalog/controller/common/header.php
文件
$this->data['YOUR_MODULE_NAME'] = $this->getChild('module/YOUR_MODULE_NAME');
现在打开标题的.tpl
文件,该文件位于
catalog/view/theme/YOUR_THEME/template/common/header.tpl
并随时回复您的欲望模块,如:
<?php echo $YOUR_MODULE_NAME;?>
那就是它。你完成了。
答案 7 :(得分:0)
你必须知道你的新职位是新生儿。
file: catalog/controller/common/header.php
$this->children = array(
'module/language',
'module/currency',
'module/cart'
);
添加你的新职位,如下:
$this->children = array(
'common/content_new',
'module/language',
'module/currency',
'module/cart'
);
现在你可以在header.tpl
中回应你的新职位