Перейти к содержимому


Бесплатный модуль UniSender для ShopCms


  • Вы не можете ответить в тему
В этой теме нет ответов

#1 netlanc

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений
Репутация: 0
Начинающий

Отправлено 07 December 2011 - 01:30 PM

Модуль интеграции ShopCms и Unisender.

скачать можно тут

Изображение
форма импорта в админке.

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

0. Обязательные!!! настройки конфига - отркрываем файл \core\modules\unisender\config\config.php и устанавливаем свои значения для следуюших параметров:

key - API ключ получить в личном кабинете UniSender
get_lists - ID список кодов рассылок в которые добавлять нового пользователя при регистрации (перечислить через запятую)
subscription_form_get_lists - ID списка рассылки на который будет подписан пользователь отправивший форму subscription_form

1. Добавляем, обработчик страницы для админки - открыть файл \core\includes\admin\modules.php
после строки
array("id"=>"yandex", "name"=>"Яндекс.Маркет" ),

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

2. Делаем пункт меню для админки - открыть файл \core\tpl\admin\menu.tpl.html
после строки
{$smarty.const.ADMIN_FILE}?dpt=custord&sub=affiliate

добавить
{$smarty.const.ADMIN_FILE}?dpt=modules&sub=unisender

3. Добавлем текстовки - открыть файл \core\languages\russian.php
в конец или в начало файла добавить
/* unisender */
include('core/modules/unisender/languages/russian.php');


далее пункты 4 и 5 нужны только если вы хотите добавлять нового пользователя в список рассылок при регистрации и для подписки/отписки пользователей на новости которые будете рассылать через UniSender.


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 */

5. Для подписки/отписки пользователей на новости - открыть файл \core\functions\subscribers_functions.php и в функцию function subscrAddUnRegisteredCustomerEmail( $email )

после строки
db_query( "insert into ".MAILING_LIST_TABLE." ( Email ) values ( '".xToText($email)."' )" );

добваить
	/* ---> UniSender */
$aConfigUnisender = unserialize(CONFIG_UNISENDER);

if ($aConfigUnisender['subscription_form']){
UniSendSubscribe($aConfigUnisender['subscription_form_get_lists'], xToText(trim($email)), $aConfigUnisender['subscription_form_name']);
}

/* <--- UniSender */

и в функцию function subscrUnsubscribeSubscriberByEmail2( $email )
после
db_query( "delete from ".MAILING_LIST_TABLE." where Email='".xToText($email)."'" );

добавить
	/* ---> UniSender */
$aConfigUnisender = unserialize(CONFIG_UNISENDER);
if ($aConfigUnisender['subscription_form']){
UniSendExclude($aConfigUnisender['subscription_form_get_lists'], xToText(trim($email)));
}
/* <--- UniSender */


[ATTACH]238.vB[/ATTACH]

Все.
  • 0