Moushe.ru

Блог обо всём

OpenCart перемещаем модуль (2 часть)



В прошлом уроке мы изменили модуль информации, а в этом уроке мы сделаем так чтобы при перемещении модуля в правую или левую колонку у модуля был один дизайн, а при перемещении в центральную колонку другой.

До:                                                       После:

12

Давайте сегодня модифицируем модуль Ссылки. Улыбка

1. Откроем файл blinks.php (..\admin\controller\module) и ищем этот код:

$this->data['positions'][] = array(
'position' => 'left',
'title'    => $this->language->get('text_left'),
);

$this->data['positions'][] = array(
'position' => 'right',
'title'    => $this->language->get('text_right'),
);

изменяем на этот:

$this->data['positions'][] = array(
'position' => 'left',
'title'    => $this->language->get('text_left'),
);

$this->data['positions'][] = array(
'position' => 'right',
'title'    => $this->language->get('text_right'),
);

$this->data['positions'][] = array(
'position' => 'home',
'title'    => $this->language->get('text_home'),
);

2. Откроем файл blinks.php (..\admin\language\russian\module) и ищем этот код:

$_['text_left']        = 'Слева';
$_['text_right']       = 'Справа';

изменяем на этот:

$_['text_left']        = 'Слева';
$_['text_right']       = 'Справа';
$_['text_home']       = 'Центр';

3. Откроем файл blinks.php (..\catalog\controller\module) и вместо этого кода:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/blinks.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/blinks.tpl';
} else {
$this->template = 'default/template/module/blinks.tpl';
}

вставим такой код:

if ($this->config->get('blinks_position') == 'home') {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/blinks_home.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/blinks_home.tpl';
} else {
$this->template = 'default/template/module/blinks_home.tpl';
}
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/blinks.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/blinks.tpl';
} else {
$this->template = 'default/template/module/blinks.tpl';
}
}

4. Откроем папку ..\catalog\view\theme\default\template\module и создадим в ней новый файл blinks_home.tpl и вставим в него такой код:

<?php if ($links) { ?>
<div class="top">
<div class="left"></div>
<div class="right"></div>
<div class="center">
<div class="heading"><?php echo $heading_title; ?></div>
</div>
</div>

<div class="middle">

<?php if ($links) { ?>
<ul>
<?php foreach($links as $link) { ?>
<li><?php echo $link['alink']; ?></li>
<?php } ?>
</ul>
<?php } ?>

</div>

<div class="bottom">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>
<?php } ?>

 

Смотрим результат:

2

Поздравляю, теперь вы способны самостоятельно задавать нужное место любому модулю. Улыбка

7 Комментариев

  1. михаил

    24.10.2011 at 21:54

    Владислав, подскажите мне в какой версии opencart или ocstore следует создавать магазин? что лучше? и вроде 1.4 хорош, но и 1.5 тоже, вроде лучше. я окончательно не могу определится. особенно с завязкой на импорт-экспорт товаров 1с. шаблоны уж точно разные, а модули? спасибо!
    сейчас оба тестирую на денвере…

  2. Владислав Храмцов
    vkontakte.ru Владислав Храмцов

    24.10.2011 at 22:23

    Я бы советовал ocStore v0.2.2 (opencart 1.4.9), так как он стабильно работает, а по 1.5 пока ещё слишком много тем с глюками на офф. форуме. Конечно выбирать вам — на 1.5 шаблоны симпатичнее, упрощена регистрация покупателей, хотя всё это можно реализовать и на 1.4.9 — правда придётся приложить некоторые усилия 🙂

  3. Интересно, а при обновлении на новую версию магазина, эти правки не похерятся?

    • Владислав Храмцов
      vkontakte.ru Владислав Храмцов

      06.10.2012 at 23:54

      Уже вышли: OC 1.5.1, 1.5.2 и 1.5.3, и готовится 1.5.4 в них переделаны и структура и шаблон, так что да похерятся почти со всеми старыми файлами OpenCart’а

  4. Имелось в виду, что при простом обновлении на одну ступень, не так кардинально. Обычно в коде CMS не рекомендуют делать правки, потому что при обновлении может случиться неприятность, в лучшем случае обновления похерятся. Как обстоят дела в этом плане с OC? Если я поправлю модуль не создавая новый, при обновлении же все похерится?

    • Владислав Храмцов
      vkontakte.ru Владислав Храмцов

      08.10.2012 at 21:08

      Да похерятся (в предыдущем же комментарии написал), обновления опенкарта производятся вручную — тупо подменой старых файлов на новые.

  5. А можно не править имеющийся модуль, а сделать его копию, назвать по-другому и модернизировать, аналогично, как это делается с шаблонами. Такой вариант позволит в дальнейшем обновляться не переписыая каждый раз под себя?

Добавить комментарий

Your email address will not be published.

*

CAPTCHA image
*

© 2016 Moushe.ru При копировании материалов, ссылка на нас обязательна!

Вверх ↑



Яндекс.Метрика