Первый модуль в MarketPlace

Bitrix MarketPlace

Итак, совсем недавно состоялось долгожданное событие: я выложил свой первый модуль в магазин 1С-Битрикс Markeplace. В этом посте я расскажу о том, как партнер Битрикса может разместить свой модуль на этой площадке, а также немного о том, как подготовить модуль к выгрузке.


Предыстория

Как-то очень давно я поддерживал один свой сайт, сделанный на редакции «Старт», и мне понадобилось организовать подписку на рассылку для пользователей. И тогда я решил попробовать написать свой первый модуль под Битрикс. Модуль был довольно простой: он позволял выбрать определенных (или всех сразу) пользователей из списка зарегистрированных, ввести заголовок письма и его текст, нажать кнопочку «Отправить» и письмо уходило на электронную почту всем выбранным пользователям. Просто, но больше и не требовалось. Соответственно, и редакцию более дорогую покупать не хотелось.

Сначала я выложил этот модуль для бесплатной загрузки у себя в блоге, но когда Битрикс наконец сделал возможность оплаты партнерских модулей у себя в MarketPlace (а это произошло относительно недавно), я решил немного переработать модуль, подправить мелкие баги, сделать чуть более удобный интерфейс, установщик и выставить модуль на продажу.

Процесс

Я выкладывал модуль от имени компании-партнера Битрикса, в которой я работаю, следовательно, буду рассказывать о процессе с этой стороны.

В первую очередь партнеру необходимо в своей карточке на сайте Битрикса задать символьный код. У нас это prmedia. Все модули, которые вы будете разрабатывать, будут иметь префикс в виде этого кода, например, prmedia.moduleName. ID модуля должен выглядеть так же.

Модуль необходимо запаковать в архив с именем .last_version.zip или .last_version.tar.gz и загрузить в личном кабинете партнера.

Если модуль платный, то нужно задать ему цену, также можно разрешить партнерские скидки (тогда партнеры Битрикса смогут купить ваш модуль с их партнерской скидкой) и триал-версию на определенное количество дней. Если задан период для триал-версии, то напротив вашего модуля в MarketPlace появится ссылка «Попробовать», нажав на которую клиент сможет загрузить ваш модуль (код модуля автоматически обфусцируется) для тестирования.

Обратите внимание, что если вы разрешаете партнерские скидки, то в MarketPlace вы увидите цену модуля уже с учетом вашей скидки. Чтобы посмотреть то, что видит обычный пользователь (не партнер Битрикса), можно просто разлогиниться.

Разработка

В принципе, разработка модуля для Markeplace ничем не отличается от разработки простого модуля. Но есть некоторые моменты, которые следует предусмотреть.

Во-первых, нужно грамотно создать файл install/index.php (именно с этим у меня возникло сначала больше всего проблем, так как примеры были разные и не все они оказались рабочими) и описать функцию-конструктор:

function module_Name()
{
	$this->MODULE_NAME = GetMessage("MODULE_NAME"); 
	$this->MODULE_DESCRIPTION = GetMessage("MODULE_DESCRIPTION");
	$this->PARTNER_NAME = "Partner name";
	$this->PARTNER_URI = "http://www.partner_url.ru";
	$arModuleVersion = array();
	$path = str_replace("\\", "/", __FILE__);
	$path = substr($path, 0, strlen($path) - strlen("/index.php"));
	include($path."/version.php");
	if (is_array($arModuleVersion) && array_key_exists("VERSION", $arModuleVersion))
	{
		$this->MODULE_VERSION = $arModuleVersion["VERSION"];
		$this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"];
	}
}

В файле install/version.php:

	$arModuleVersion = array(
		"VERSION" => "0.9.0",
		"VERSION_DATE" => "2011-09-09 12:00:00"
	);

Во-вторых, необходимо перенести все надписи в lang-файлы. Делается это следующим образом: надписи задаются в специальных файлах. Например, у нас есть установщик модуля и первым шагом вызывается файл install/step1.php. Нам нужно вывести на странице надпись «Установка модуля». Для этого нужно создать в папке модуля файл lang/ru/install/step1.php со следующим содержанием:

$MESS ['MODULE_INSTALL'] = 'Установка модуля';

Далее, в файле install/step1.php необходимо подключить lang-файл:

IncludeModuleLangFile(__FILE__);

В том месте, где должна быть надпись, необходимо вызвать функцию GetMessage, передав ей как параметр ключ массива $MESS, то есть GetMessage('MODULE_INSTALL').

В-третьих, все файлы модуля нужно перекодировать в кириллицу. Удобнее всего это сделать в самом конце (конечно, если вы не ведете всю разработку в кириллице), когда вы уже все протестировали и готовы выкладывать модуль в MarketPlace.

Результат

Ну и, наконец, вот что получилось:
Модуль «Простые рассылки»http://marketplace.1c-bitrix.ru/solutions/prmedia.simplesubscribe/

Возможно, в будущем добавлю в пост статистику по продажам.

Дата: 13 сентября 2011
Теги: модули, markeplace
Добавить в закладки:

Комментарии (0)


Администратор запретил оставлять комментарии