Інтеграція UniSender з ShopCM

Інтеграція з 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.