[Помогите] Вынести банер в header

Тема в разделе "OpenCart", создана пользователем step-top7, 9 ноя 2013.

  1. step-top7

    step-top7

    Регистрация:
    6 авг 2013
    Сообщения:
    46
    Симпатии:
    0
    Может кто сталкивался, как вынести банер в хедер, видел в каком то шаблоне выбор в модуле не только верх, низ, право, лево, но и был еще в хедер, т.е. можно было вынести любой модуль в хедер...
    Буду очень благодарен за помощь
     
  2. andelor

    andelor

    Регистрация:
    17 июл 2013
    Сообщения:
    77
    Симпатии:
    32
     
    ewgenij05 и cobalt нравится это.
  3. kozak_1981

    kozak_1981

    Регистрация:
    8 ноя 2013
    Сообщения:
    2
    Симпатии:
    1
    Там дофига чего править нужно, не так то просто это будет сделать, вообще тоже интерестно может кто делал..?
     
  4. fr0zen

    fr0zen

    Регистрация:
    24 сен 2013
    Сообщения:
    49
    Симпатии:
    80
    А тебе как именно нужно, чтоб через админку редактировать можно было, или сойдет, если руками файлы стилей подправить и больше не менять?
     
  5. step-top7

    step-top7

    Регистрация:
    6 авг 2013
    Сообщения:
    46
    Симпатии:
    0
    Можно конечно и руками подправить,
    я хочу разместить баннер в хедере, посередине между логотипом слева и корзиной справа,
    по вышеприведенной инструкции, любезно предоставленной Andelor, получилось модуль слайдер вывести над хедером или под ним, под хедером это та же самое что и в шапке указывать, над хедером не загружаются нужные стили и джава, поскольку подгружаются после в хедере.
    Как данный модуль вставить правильно в хедер ?
     
  6. andelor

    andelor

    Регистрация:
    17 июл 2013
    Сообщения:
    77
    Симпатии:
    32
    В теле хедера после дива logo добавить собственный див, к примеру,
    <div id="hedbanner">
    <?php foreach ($modules as $module) { ?>
    <?php echo $module; ?>
    <?php } ?>
    </div>

    в stylesheet.css
    добавить , к примеру, это

    #hedbanner {
    position: absolute;
    top: 0px;
    left: 310px;
    text-align: left;
    }
     
  7. step-top7

    step-top7

    Регистрация:
    6 авг 2013
    Сообщения:
    46
    Симпатии:
    0
    В header.tpl вставил данный код после
    и в stylesheet.css вставил после
    здесь пробывал и просто #hedbanner и #header #hedbanner, при этом в хедере выдает следующую ошибку
    --- Добавлено, 11 ноя 2013 ---
    Итак, ошибка исчезла, после того как как добавил следующий код в контролере header.php

    Делал все для слайдшоу, но ни баннер ни слайдшоу не появилось в хедере
     
    Последнее редактирование: 11 ноя 2013
  8. step-top7

    step-top7

    Регистрация:
    6 авг 2013
    Сообщения:
    46
    Симпатии:
    0
    Сделал тоже самое и для модуля баннер, но абсолютно та же ситуация, ни ошибок, ни изменений, абсолютно никаких
     
  9. sonicking

    sonicking

    Регистрация:
    26 май 2013
    Сообщения:
    406
    Симпатии:
    104
  10. andelor

    andelor

    Регистрация:
    17 июл 2013
    Сообщения:
    77
    Симпатии:
    32
    if ($module['layout_id'] == $layout_id && $module['position'] == 'имя_вашей_позиции_модуля' && $module['status']) {
    здесь пропишите СВОЮ позицию, какую придумали, к примеру, conten_header
    И посчитайте, скобки, возможно в коде лишние (то, что дал,вырезка, потом адаптировал под себя).
    Вот мой файл контроллера с этим кодом
    Код:
    $this->children = array(
                'module/language',
                'module/currency',
                'module/cart'
            );
            $this->load->model('design/layout');
    
      if (isset($this->request->get['route'])) {
        $route = $this->request->get['route'];
        } else {
        $route = 'common/home';
        }
        $layout_id = 0;
        if (substr($route, 0, 16) == 'product/category' && isset($this->request->get['path'])) {
        $path = explode('_', (string)$this->request->get['path']);
        $layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path)); 
        }
        if (substr($route, 0, 15) == 'product/product' && isset($this->request->get['product_id'])) {
        $layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
        }
        if (substr($route, 0, 23) == 'information/information' && isset($this->request->get['information_id'])) {
        $layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
        }
        if (!$layout_id) {
        $layout_id = $this->model_design_layout->getLayout($route);
        }
        if (!$layout_id) {
        $layout_id = $this->config->get('config_layout_id');
        }
        $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'] == 'content_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();
        }    
     
    step-top7 нравится это.
  11. step-top7

    step-top7

    Регистрация:
    6 авг 2013
    Сообщения:
    46
    Симпатии:
    0
    Большое спасибо, именно этого и не хватало )))