Интеграция UniSender c ShopCMS

Интеграция с ShopCMS

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

При переносе данных можно выбрать поля, требуемые для переноса (например, перенести имена пользователей для персонализации рассылки или телефоны для SMS-рассылки).

Интеграция с ShopCMS

Установка и поддержка

Для установки модуля распаковать содержимое архива в корневую папку сайта и внести добавления в следующие файлы:

1. Добавляем, обработчик страницы для админки — открыть файл \core\includes\admin\modules.php и после строки

array("id"=>"yandex", "name"=>"Яндекс.Маркет" ),

добавить

/* unisender */
array("id"=>"unisender", "name"=>"Экспорт контактов ShopSMS в UniSender" )

2. Создаём новый пункт меню для админки — открыть файл x:\home\shopcms\www\core\tpl\admin\menu.tpl.html и после строки

{$smarty.const.STRING_AFFILIATE_PROGRAM}

добавить 

{$smarty.const.STR_UNISENDER_MENU}

3. Добавлем текстовки — открыть файл \core\languages\russian.php в конец или в начало файла добавить

/* unisender */	
include('core/modules/unisender/languages/russian.php');

4. Добавляем нового пользователя в список рассылок при регистрации — файл\core\functions\registration_functions.php вначале файла перед

function regRegisterAdmin( $admin_login, $admin_pass )

добавить

include('core/modules/unisender/config/config.php');

после строк

db_query("insert into ".CUSTOMERS_TABLE.
                "( Login, cust_password, Email, first_name, last_name, 
                subscribed4news, reg_datetime, CID, custgroupID, affiliateID, 
                ActivationCode )". "values( '".xToText(trim($login))."', 
                '".xEscSQL(trim($cust_password))."', 
                '".xToText(trim($Email))."', ".
                " '".xToText(trim($first_name))."', '".xToText(trim($last_name))."', 
                '".(int)$subscribed4news."', '".xEscSQL(get_current_time())."', ".
                        (int)$currencyID.", ".(int)$custgroupID.", 
                        ".xEscSQL(trim($affiliateID)).", 
                        '".xEscSQL(trim($ActivationCode))."' )" );

добавить

/* ---> UniSender */
	if (!CONF_ENABLE_REGCONFIRMATION){
	    $aConfigUnisender = unserialize(CONFIG_UNISENDER);
	    if ($aConfigUnisender['new_user']){
		$sName = xToText(trim($login));
		$first_name=xToText(trim($first_name));
		$last_name=xToText(trim($last_name));
		if (!empty($first_name) or !empty($last_name)) {
		    $aName = array();
		    if ($first_name != '')
			$aName[] = $first_name;
		    if ($last_name != '')
			$aName[] = $last_name;

		    $sName = implode(' ', $aName);
		}	    
		UniSendSubscribe($aConfigUnisender['get_lists'], 
		                 xToText(trim($Email)), $sName);
	    }
	}
	/* <--- UniSender */

в функцию function regActivateCustomer($_CustomerID) после

db_query($sql);

добавить

/* ---> UniSender */
	$aConfigUnisender = unserialize(CONFIG_UNISENDER);
	if ($aConfigUnisender['new_user']){
	    $sName = xToText(trim($login));
	    $first_name=xToText(trim($first_name));
	    $last_name=xToText(trim($last_name));
	    if (!empty($first_name) or !empty($last_name)) {
		$aName = array();
		if ($first_name != '')
		    $aName[] = $first_name;
		if ($last_name != '')                                                                                                
		    $aName[] = $last_name;

		$sName = implode(' ', $aName);
	    }	    
	    UniSendSubscribe($aConfigUnisender['get_lists'], 
	                     xToText(trim($Email)), $sName);
	}
	/* <--- UniSender */

Техническую поддержку, консультации в установке и кастомизацию плагина осуществляет его автор. Тестирование и разработка модуля проведено на версии ShopCMS 3.1.