OpenCart — галерея — создаем галерею изображений с помощью модуля галереи 2016-06-15

поможет создать любое количество галерей, разместить их как на стандартных схемах движках, так и на

  1. admin
    OpenCart — движок для создания интернет-магазина, в котором по умолчанию не предусмотрена возможность создания портфолио или размещения галереи. Но порой бывает необходимо или просто хочется разместить образцы работ, фотографии популярных или необычных товаров, продемонстрировать весь ассортимент цветов, например обивки для мебельных магазинов, разместить галерею всех работ и т. д. В общем, иногда приходится искать сторонние решения для добавления функционала магазину. В данном случае, создание галереи не является исключением.

    Простой модуль «Gallery Images» поможет создать любое количество галерей, разместить их как на стандартных схемах движках, так и на отдельной странице.

    opencart-gallery-image.jpg

    Установка и настройка модуля

    1. Скачиваем модуль «Gallery Images». Модуль совместим с версиями 1.5.5.1-1.5.6.4, требует установленного vqmod.

    Также, если хотите выводить галерею на отдельной странице, а не только блоками на других страницах магазина, то стоит установить модуль «Clean Category page»(в архиве). Суть модуля заключается в том, чтобы убирать со страницы категорий заголовок, кнопку «Продолжить» и фразу о том, что в этой категории нет товаров, когда их действительно нет в этой категории. Этот модуль сослужит нам службу при размещении галереи на отдельной странице.

    2. Распаковываем модуль «Clean Category page» и загружаем его содержимое в корень своего магазина, будут только добавлены новые файлы, ни один из существующих файлов не будет перезаписан.

    Аналогично поступаем и с модулем «Gallery Images» — распаковываем и содержимое папки «FILES TO UPLOAD OC-1.5.5.1-up» загружаем в корневую папку магазина.


    3. Отправляемся в админку/Дополнения/Модули и устанавливаем модуль «Gallery». Также идем в Система/Пользователи/Группы пользователей и главному администратору даем все права, для внесения изменений и просмотра.

    4. Для того, чтобы заголовок модуля в админке имел адекватный вид, откроем файл vqmod/xml/gallery_images.xml и в пути к языковому файлу (строка 24)

    Код:
    <file name="admin/language/english/common/header.php">
    
    сменим «english» на «*»
    
    <file name="admin/language/*/common/header.php">
    5. На данном этапе галерея уже функционирует и можно заниматься ее наполнением. Для этого переходим по вкладкам Каталог/Gallery Images и создаем новую галерею.

    opencart-create-gallery.jpg



    6. Для вывода галереи, на одной из существующих схем магазина, идем в Дополнения/Модули/Gallery и задаем вывод созданной галереи. Выбираем нужную галерею, указываем размеры изображений, схему, порядок сортировки — порядок вывода галерей и отмечаем статус «включено».

    opencart-gallery-settings.jpg



    и в итоге получаем галерею на главной (или на той странице, какую указали вы), внизу страницы

    opencart-module-gallery-any-layout.jpg



    Но что, если нам нет надобности выводить галерею с другой информацией, а необходимо вывести ее на отдельной странице? Чтобы все галереи были на одной странице, шли одна за другой. Или будет одна галерея, но с большим количеством изображений. Да вариаций вывода галерей может быть сколько угодно, суть в том как же создать отдельную страницу для вывода галереи?

    Вот тут-то и сыграет свою роль «Clean Category page». Модуль у нас уже установлен, так что с ним порядок, но теперь нам необходимо создать ту страницу, на которой будут отображаться наши галереи.

    1. Идем в Система/Дизайн/Схемы и создаем новую схему, называем ее на свое усмотрение «Галерея», «Наши работы» и т. п.

    2. Создаем новую категорию с аналогичным названием. Отмечаем в настройках «показывать в главном меню», если хотим, чтобы в меню появилась вкладка «Галерея» (вкладка с таким названием, которое носит ваша категория). В табе «Дизайн» меняем схему на ту, которую мы создали в предыдущем шаге!

    3. В Дополнения/Модули/Gallery задаем новый вывод галереи, но теперь выбираем нашу новую схему. Проверяем магазин — вуаля, галерея(и) выводится на отдельной странице (как на первом скрине этого поста). Все изображения открываются в pop-up окне с возможностью перелистывания.

    Но есть одно «но» — вместо названия галерей выводится заголовок «Gallery». Итак, исправляем это.

    1. Открываем файл catalog/model/catalog/gallimage.php и меняем запрос

    Код:
    $query=$this->db->query("SELECT * FROM ".DB_PREFIX."gallimage_image gi LEFT JOIN ".DB_PREFIX."gallimage_image_description gid ON (gi.gallimage_image_id = gid.gallimage_image_id) WHERE gi.gallimage_id = '".(int)$gallimage_id."' AND gid.language_id = '".(int)$this->config->get('config_language_id')."'");

    на следующий


    Код:
    $query=$this->db->query("SELECT * FROM ".DB_PREFIX."gallimage_image gi LEFT JOIN ".DB_PREFIX."gallimage gin ON (gi.gallimage_id = gin.gallimage_id) LEFT JOIN ".DB_PREFIX."gallimage_image_description gid ON (gi.gallimage_image_id = gid.gallimage_image_id) WHERE gi.gallimage_id = '".(int)$gallimage_id."' AND gin.gallimage_id = '".(int)$gallimage_id."' AND gid.language_id = '".(int)$this->config->get('config_language_id')."'");

    2. Открываем файл catalog/controller/module/gallimage.php, находим строки (20-29)

    Код:
    foreach($resultsas$result){
    if(file_exists(DIR_IMAGE.$result['image'])){
    $this->data['gallimages'][]=array(
    'title'=>$result['title'],
    'link'=>$result['link'],
    'image'=>$this->model_tool_image->resize($result['image'],$setting['width'],$setting['height']),
    'popup'=>$this->model_tool_image->resize($result['image'],500,500)
    );
    }
    }

    и меняем их на

    Код:
    foreach($resultsas$result){
    if(file_exists(DIR_IMAGE.$result['image'])){
    $this->data['gallimages'][]=array(
    'title'=>$result['title'],
    'name'=>$result['name'],
    'link'=>$result['link'],
    'image'=>$this->model_tool_image->resize($result['image'],$setting['width'],$setting['height']),
    'popup'=>$this->model_tool_image->resize($result['image'],500,500)
    );
    }
    }
    3. Открываем последний файл для правки — catalog/view/theme/ваша-тема/template/module/gallimage.tpl и находим строку с выводом заголовка, находится она практически в самом начале файла

    Код:
    <div class="box-heading"><?phpecho$heading_title;?></div>
    и меняем ее на
    
    <div class="box-heading"><?phpecho$gallimages[0]['name'];?></div>

    Проверяем магазин — теперь все категории имеют свои собственные заголовки, те, которые мы им задали в админке при создании.

    opencart-galleries-titles.jpg
    Важно! Для того, чтобы изменить размер всплывающего окна изображений, открываем файлcatalog/controller/module/gallimage.php, находим строку

    Код:
    'popup'=>$this->model_tool_image->resize($result['image'],500,500)
    и меняем 500х500 на свои значения.

    Теперь в нашем интернет-магазине на движке OpenCart появилась страница с галереями, в которые можно добавить все что душе угодно. Галерея простая, не особо функциональная, но при этом бесплатная, легкая в наполнении и в работе магазина.
    ControlSKY, khoi, vicgoo и 5 другим нравится это.