Создание плагина для бэкэнда Webasyst Shop-script 5

Цель и смысл создания плагина

Зачем вообще создавать плагины для Webasyst, Если можно просто «поковыряться» в коде приложения (того же Shop-Script 5) и изменить всё прямо там?

Я задался таким вопросом, и попытался пойти напролом без всяких плагинов. Довольно быстро я обнаружил, что при этом начинаются проблемы с автоматическими обновлениями — приходится вручную отслеживать все обновлённые инсталлером файлы, и переносить из них изменения в «актуальные версии файлов», например с помощью утилит diffuse или meld, ну или консольных diff, если совсем по хардкору. Со временем это превращается в кошмар.

UPD: Спустя некоторое время после написания этого поста я сделал движок «патчинга на лету», который позволяет хранить изменения файлов отдельно от основного кода, подверженного обновлениям, и применять их автоматически, вот этот движок: Monkey Patching для webasyst

Поэтому, наиболее простой вариант — создание плагинов, а если для них недостаточно «хуков» (это точки вызовов событий, на которые плагин можно подписать), то либо клянчить новые хуки у разработчиков либо, так уж и быть, добавить свои прямо в код.

Причина написания этой статьи

Так как справка по этой теме по состоянию на середину 2014 года весьма бедная (кстати вот она: http://www.webasyst.ru/developers/docs/plugins/ ), приходится изучать её при помощи ковыряния в готовых плагинах, и отладчика XDebug. Жаль что он не умеет «заглядывать» в Smarty-файлы шаблонов…

На форуме forum.webasyst.ru есть немного информации по теме, но чувствуется, что людям незачем делиться ей бесплатно, так как они зарабатывают разработкой плагинов за деньги. Хотя, может быть, они бы и рады поделиться, но работа отнимает всё свободное время, и просто некогда сидеть на форумах.

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


Что происходит, и кто здесь?

Это — мой блог.

Я буду использовать его как свою онлайн — записную книжку, которая позволит делиться моими находками и наработками с миром.

Долгое время в голове скреблась мысль о том, что стоит делиться с миром тем что у меня есть, в ответ на то, что мир даёт мне. Сейчас, в середине 2014 года, достигнута критическая масса, и блог создан.  Движущей силой этому послужили попытки разобраться в php-фреймворке WebAsyst и приложениях, на нём написанных, а точнее, очень бедная документация, и очень скудное количество информации в интернете.

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

Также, здесь возможно будут появляться записи на другие темы, в том числе на тему моих наработок в PHP в целом, javascript, Yii-фреймворке и других вещах, так или иначе связанных с ремеслом управления электронными машинами.

Для тех, кто захочет со мной связаться — есть комменты, мой е-мэйл адрес (справа на панели есть иконка) и еще можете загуглить мой ник, он хорошо гуглится.

 


Страницы:12345