- PVSM.RU - https://www.pvsm.ru -
Интро: Разработка стандартных решений для Битрикс в большинстве случаев представляет собой решение тривиальнейших задач. С каждым новым проектом приходится делать одно и то же снова, и снова, и снова… Но есть способ облегчить себе жизнь — написать библиотеку своих компонентов и даже заработать на них, если они предлагают востребованный функционал.
Дано: Битрикс редакции «Малый бизнес» — одна штука.
Задача: Научить его принимать платежи Bitcoin и…
И вот тут я задумался — а как? Модулей для интеграции платёжных систем для Битрикс я писал и переписывал немало. Но что делать с Биткоинами? С какой стороны подступиться? Я не знал.
В процессе довольно продолжительного гугления удалось выйти на платёжную систему, позволяющую принимать BTC и автоматически конвертировать их в валюту, выбранную продавцом в настройках магазина. Тут всё оказалось довольно просто — API есть, Bitcoin в роли валюты принимается, чего вам ещё? Поехали!
Так как время моё на эту задачу не было практически ничем ограничено, захотелось мне сделать всё «по фэн-шую», а именно не просто сделать обработчик платёжной системы, отдать клиенту и забыть, но и запилить универсальный установочный пакет. У Битрикса, как вы знаете, есть свой Маркетплейс с модулями и решениями, в котором абсолютно свободно можно разместить своё решение и даже брать за него деньги, если считаете свой труд материально ценным. В настоящий момент большинство модулей в Маркетплейс бесплатны. У меня давно уже чесались руки поэкспериментировать в этом направлении и вот, наконец то, подвернулась такая возможность.
Если API платёжной системы оказалось довольно хорошо документировано и интуитивно понятно (да и понимать особо нечего — пара функций да пример кода), то с инструкциями по производству модулей для Битрикса всё крайне неоднозначно.
С одной стороны она есть, с другой не очень-то мне и помогла. Всё как-то сумбурно, скомкано, постоянные прыжки по тексту в поисках ответов на вопросы. Как кто-то очень точно подметил на форуме самого Битрикса: «Сухие мануалы по модулям лучше даже не открывать — их писали не для тех, кто хочет научиться, а для тех кто уже умеет». Помог неплохой видеоурок, там по крайней мере объясняет живой человек.
Note: Хочу отдельно подчеркнуть, что я совсем не дурак и не тугодум. Это был первый опыт разработки модуля для Marketplace. Сейчас, пройдя этот путь, я вижу что многие вещи на самом деле элементарны, но поиск этих решений в первый раз производился методом «пальцем в небо»
Во-первых сам модуль — это просто набор файлов, некоторые из которых выполняются в процессе его установки.
У модуля есть определённая структура каталогов, которая зависит от задач, которые вы собираетесь в своём модуле решать.
Итак, воссоздаём структуру:

Изображение взято из официальной документации.
Здесь необходимо пояснить что к чему. Приведённая на изображении структура папок вряд ли будет у Вас точно такой же. Она избыточна и когда (если?) вы будете разрабатывать свой модуль, от неё останется всего пара папок и пара файлов.
Что из этого является обязательным:
Остальные элементы структуры являются вспомогательными:
Что бы лучше понять назначение каждого элемента, вы можете посмотреть исходники из архива с шаблонным модулем [1], на базе котрого мы и будем делать итоговое решение.
В следующей части статьи мы узнаем как применить эти знания на практике, а в третьей части будет описание структуры и назначения обновлений модуля.
Автор: Quiz
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/bitcoin/21921
Ссылки в тексте:
[1] архива с шаблонным модулем: http://iceman.su/upload/habr/bitrix_module_sample.zip
[2] Источник: http://habrahabr.ru/post/161479/
Нажмите здесь для печати.