Интеграция UberGallery — создание галереи для OpenCart: часть 1

Интеграция UberGallery — создание галереи для OpenCart

От автора: UberGallery – простой PHP скрипт для создания красивой галереи изображений с генерацией превью на лету. Необходимо лишь загрузить изображения в нужную папку, и галерея для OpenCart будет готова. Наша задача – создать модуль, который будет использовать UberGallery для генерации галереи, но по правилам OpenCart. В back end должна быть возможность изменять параметры, такие как ширина превью, высота превью и т.д. По этим требованиям я создам блок галереи на front end страницах.

Сегодня мы изучим back end часть. Мы создадим файлы, необходимые для формы настроек в back end модуле. Предполагаю, что вы знаете основы процесса модульной разработки в OpenCart, так как мы опустим их. Вы должны работать в последней версии OpenCart, чтобы следовать за кодом.

Создание файлов – быстрый обзор

Давайте быстро пробежимся по файлам back end.

admin/controller/module/uber_gallery.php: файл контроллера, обеспечивающий приложение логикой обычного контроллера OpenCart.

admin/language/english/module/uber_gallery.php: языковой файл для установки языковых лейблов.

admin/view/template/module/uber_gallery.tpl: файл шаблона представления, в котором хранится XHTML код формы настроек.

system/library/uberGallery: сам компонент UberGallery.

Сегодня мы создадим все эти файлы. Я создам кастомную форму настроек для модуля UberGallery, чтобы вы могли настраивать параметры через back end.

Не будем тратить время, перейдем к самому интересному.

Создание back end файлов модуля

Перед созданием файлов скачайте UberGallery с официального сайта и скопируйте папку resource в system/library/uberGallery/resources.

Создайте файл system/library/uberGallery/resources/oc.galleryConfig.ini со следующим кодом.

Файл схож с файлом настроек UberGallery galleryConfig.ini, но с плейсхолдерами. С его помощью мы будем создавать настоящий файл конфигураций на лету, когда админ будет сохранять форму настроек через back end.

По требованиям UberGallery необходимо скопировать system/library/uberGallery/resources/sample.galleryConfig.ini в system/library/uberGallery/resources/galleryConfig.ini. Проверьте, чтобы файлы system/library/uberGallery/resources/galleryConfig.ini и system/library/uberGallery/resources/cache были доступны для записи с веб-сервера.

Создайте файл admin/controller/module/uber_gallery.php со следующим кодом.

Как обычно, здесь два стандартных метода, как в любом back end файле контроллера – index (обеспечивает стандартную логику хранения значений формы) и validate (используется для валидации формы настроек).

В начале статьи я упомянул, что вы должны знать основы модульно разработки в OpenCart, поэтому мы обсудим только код, относящийся к UberGallery.

Мы не будем разбирать метод index, загрузку языков и модулей, создание переменных для файла шаблона представления. Вместо этого мы разберем один интересный кусок кода в index методе. Давайте посмотрим повнимательнее.

Здесь мы пытаемся достичь следующего: когда админ сохраняет форму настроек UberGallery на back end, файл galleryConfig.ini должен создаваться на лету. Вспомните, в начале раздела мы создали файл oc.galleryConfig.ini. Теперь вы должны понять зачем.

Мы вытягиваем контент system/library/uberGallery/resources/oc.galleryConfig.ini, заменяем плейсхолдеры на реальные значения и сохраняем galleryConfig.ini, переписывая существующий файл.

Создайте файл admin/language/english/module/uber_gallery.php со следующим кодом.

Ничего необычного – просто объявляем языковые переменные.

Создадим файл шаблона представления с XHTML кодом формы настроек. Создайте файл admin/view/template/module/uber_gallery.tpl.

С созданием back end файлом закончили.

Тестирование формы настроек

Перейдите на back end и далее Extensions > Modules. Установите вновь созданный модуль UberGallery и откройте форму настроек.

Заполните значения и сохраните форму! Это сохранит настройки модуля в базе данных. Но помимо этого создастся новый файл galleryConfig.ini! Откройте файл system/library/uberGallery/resources/galleryConfig.ini, в нем должны быть значения параметров из полей формы настроек.

Мы только что построили механизм генерации galleryConfig.ini на лету с помощью формы редактирования! Он будет использовать на front end, когда мы активируем в модуле отображение галереи.

На сегодня все. Скоро вернусь в следующем уроке.

Заключение

В первой части мы пробежались по back end файлам модуля UberGallery. В следующей части мы разберем front end.

Автор: Sajal Soni

Источник: //code.tutsplus.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: