Пишем модуль opencart! Бегущая строка

В предыдущей статье, бегущая строка в opencart, мы реализовали бегущую строку для интернет-магазина (opencart 2.0)  на jquery. Для создания бегущей строки был использован плагин liМarquee. Код бегущей сроки был встроен непосредственно в шаблон категорий-товары. 

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

Примечание: Необходимо предусмотреть возможность размещения нескольких  бегущих строк. Т.е. модуль должен обладать возможностью создавать копии-объекты на базе шаблона модуля. Это возможностью обладают такие модули как баннерная карусель или HTML. 


Реализация бегущей строки для сайта на opencert в виде модуля.

За основу возьмем  готовый модуль . Наиболее подходящий для решения этой задачи -модуль HTML.

Копируем элементы модуля в соответствующие, заранее созданные, пустые папки. Изменяем названия названия файлов... html.php -> runline.php, html.tpl -> runline.tpl

далее редактируем сами файлы....

Административная часть контроллер модуля runline.php:

Заменяем  все 'module/html -> 'module/runline.

Также название класса  class ControllerModuleRunline extends Controller {.....

Административная часть шаблон модуля runline.tpl:

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

Также не изменяем и языковой файл в административной части. Файл модели отсутствует. 

Далее изменяем файлы в /catalog

 Контроллер модуля каталога runline.php:  

Заменяем html на runline

Также исправляем название класса на class ControllerModuleRunline extends Controller {...

 Контроллер шаблона каталога runline.tpl: 

Полностью заменяем на

<div class="str1 str_wrap">

  <?php echo $runline; ?></div>

      <script>

$(window).load(function(){

$('.str1').liMarquee();

})

  </script> 

Файлы модели и языковой - отсутствуют. 

На этом разработка  модуля закончена. Но сам плагин  liМarquee и стили к нему, подключаются в заголовочном файле opncart -> header.php

Подключение плагина liМarquee и стилей в модуле бегущая строка.

Добавим в  Контроллер модуля каталога runline.php

$this->document->addScript('catalog/view/javascript/jquery/limarquee/js/jquery.limarquee.js');

$this->document->addStyle('catalog/view/javascript/jquery/limarquee/css/limarquee.css');