Загрузка...
Закрыть
Предупреждение
Для обеспечения высокого уровня обслуживания на этом сайте используются куки (cookies). Продолжая его использование, вы соглашаетесь с тем, что куки (cookies) будут сохраняться на вашем компьютере: Принять

Как создать модуль CS-Cart? | Как расширить импорт/экспорт CS-Cart?

March 25th, 2018

В данной статье мы поговорим о том, как создать CS-Cart модуль и расширить импорт/экспорт платформы для электронной коммерции.

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

Обычно, владельцы интернет-магазинов заказывают или скачивают уже готовые модули, которые решают технические проблемы при администрировании интернет-магазина.

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

cs-cart import

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

На примере, очень простого модуля, который добавляет дополнительное поле в карточку товара и потом данные из этого поля пригодны для импорта/экспорта, мы разберем, как выглядят CS-Cart модули и как менять функционал импорта/экспорта в CS-Cart магазине.

CS-Cart модуль - это всегда набор файлов, которые дополняют друг друга. В этих документах записаны команды, для вызова процессов в CS-Cart. Даже в самом простом модуле содержится несколько папок, в которых вложены еще папки и файлы.

Папка модуля Some_value красным выделены файлы):

App
 Addons
     Some_value
         Schemas
             Exim
                products.post
          addon.xml
Design
 Backend
    Templates
         Addons
             some _value
                 Hooks
                        Products
                                detailed_content.post
Var
 Langs
    En
      Addons
           some_value.po
    Ru
      Addons
           some_value.po
 Theme_depository
   Responsive
      Templates
          Addons
            Some_value
                  Hooks
                     Products
                         qty.pre

Как мы видим в 3 главных папках модуля, спрятано всего 6 файлов с кодом. Это структура самого простого, незатейливого модуля, который добавляет 1 текстовое поле в карточку товара и потом позволяет импортировать и экспортировать данные этого поля.

В любом модуле всегда должны быть вложенные папки под названием app/addons/ название модуля. Здесь хранятся основные файлы модуля, кроме файлов шаблонов.

Конечно, Вы можете создавать и свои папки, и файлы, но их название и структура должны четко отвечать принятой структуре в CS-Cart.

В нашем простом модуле, мы видим папку schemas/exim

Файлы находящиеся в папке exim отвечают за импорт/экспорт в CS-Cart.

Рассмотрим файл products.post, который находится в папке exim.

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

Контроллер - это главный PHP файл. Это связующее звено между пользователем, базой данных и шаблоном платформы. Именно в контроллерах выполняются основные функции "движка". Без работы контроллера не отобразится ни одна страница в интернет-магазине. Расширение контроллеров происходит за счет постконтроллеров и преконтроллеров, которые выполняются до или после кода основного контроллера.

Заглянем в код этого файла. В коде файла мы находим переменную $schema. В ней уже есть данные, мы добавляем еще данные ([some value]) и возвращаем значение переменной, т.е.приходим к завершению выполнения функции и передаем управление той строке, в которой данная функция была вызвана.

Следующий файл addon.xml — файл содержит основную информацию о модуле, необходимую для его установки и удаления. Данный файл всегда располагается в папке app

В этом файле всего 14 строк и здесь задаются основные параметры дополнительного поля и схема данного модуля.

Оператор Alter Table дает возможность менять структуру существующей таблицы в базе данных. В данном случае этот оператор добавляет (add) и удаляет (drop column) новое поле под названием some_value с типом данных varchar длиной 255 текстовых символов. Значение этого поля не нулевое по умолчанию.

Переходим к папке design, которая отвечает за шаблоны панели администратора. Здесь мы видим схему размещения новой настройки товара (поля с данными some value) в панели администратора.

Вот тот результат, который мы получаем в административной панели, работая с кодом, в файле detailed_content.post

include file это функция подключения файла common/subheader.tpl к коду написанному на картинке выше. Далее, с помощью html кода описываем то, где и как будет располагаться, требуемое нам, поле в административной панели в карточке товара.

Переходим к папке var, где в нашем распоряжении 2 папки: langs (переводы) и themes_repository(темы и шаблоны для инсталляции).

В папке lang содержаться подпапки для различных языков. В нашем случае - это ru (русский) и en (английский). Если хотите сделать локализацию модуля под другие языки, то в папке lang создаете папку с обозначением требуемого языка и копируйте туда папку addons с файлом some_value.po

Для перевода модуля под требуемый язык, нужно немного отредактировать код в файле some_value.po в только что созданной папке.

Замените русский перевод, своими фразами, сохраните документ и у Вас локализованный модуль.

Файл в папке themes_repository - это еще одна схема - qty.pre, которая отрабатывается перед запуском основного кода.

Она позволяет отображать значение на витрине, непосредственно этот код показывает значение на странице продукта в карточке товара в определенном месте

Все файлы и папки, что расписаны выше, архивируются в zip архив, и теперь их легко установить в CS-Cart с помощью панели администратора.

Посмотреть весь список готовых модулей.

Заказать разработку CS-Cart модуля под заказ.

 

Up