Для організації розсилки в системі Бітрікс є спеціальний модуль «Розсилки». За допомогою модуля зручно збирати базу передплатників, а так само проводити розсилку. Більш докладно про роботу модуля можна почитати в офіційній документації. Як відомо модуль вміє розділяти розсилку так само за рубриками. Буває, що потрібно зробити просту форму підписки, при тому, що кілька рубрик, підписати «одним махом» на всі рубрики на сайті. Спробуємо зробити просту форму підписки. Хочу звернути увагу на те, відсилання e-mail ла передплатника буде через Ajax, це відоме зручність, яке обумовлюється відсутністю перезавантаження сторінки.
Насамперед слід підключити бібліотеку JQuery:
А взагалі, краще завантажити бібліотеку на свій сервер, і підключати до нього, т. к. доводилося стикатися з тим, що сторінки довго «висять», тому що бібліотека з якихось причин іноді передається з гальмами зі стороннього ресурсу.
Форма проста, оформлення залишається за вами:
Введіть вашу email адресу:
З формою так само працюємо по-простому:
$(document).ready(function(){
$(‘input[name=”send”]’).click(function(){
$.getJSON(‘ajax.php’, {
email:$(‘input[name=”email”]’).val()
}, function(data){
if (data.status==’ok’){
alert(‘На вашу поштову адресу відправлено листа з підтвердженням підписки.’);
} else {
alert(data.msg);
}
});
});
});
Отже, у нас є форма, є код javascript, який і буде здійснювати відправлення e-mail на сервер, і приймати відповідь від сервера. Тепер подивимося, що у нас буде на стороні сервера, скрипт який ми назвемо ajax.php власне і обробляти запити, форми, і віддавати відповідь у форматі Json.
“ASC”,”SORT”=>”ASC”,”NAME”=>”ASC”),
array(“ACTIVE”=>”Y”, “LID”=>LANG)
);
$arRubIDS = array();
while ($arRub = $rub->Fetch()){
$arRubIDS[] = $arRub[‘ID’];
}
// формуємо масив з полями для створення підписки
$arFields = Array(
“USER_ID” => ($USER->IsAuthorized() ? $USER->GetID() : false),
“FORMAT” => “html”,
“EMAIL” => $_REQUEST[’email’],
“ACTIVE” => “N”,
“RUB_ID” => $arRubIDS,
“SEND_CONFIRM” => ‘Y’
);
$subscr = new CSubscription;
// створюємо підписку
$ID = $subscr->Add($arFields);
if ($ID > 0){
$arResult[‘status’] = ‘ok’;
} else {
$arResult[‘status’] = ‘error’;
$arResult[‘msg’] = str_replace(“
“,””,$subscr->LAST_ERROR);
}
} else $arResult[‘status’] = ‘error’;
echo json_encode($arResult);
?>
Зверніть увагу, параметр “SEND_CONFIRM” => ‘Y’ при додаванні підписки означає, що підписка повинна бути підтверджена по Email. Якщо в цьому немає необхідності досить змінити значення параметра на «N».
Додав: htmaker, 07.05.2015 р.
(5 голосів, середній: 4,80 з 5)
Завантаження…
Діліться з друзями:
См. також:
Налаштування часу у VMBitrix
Рубрика: Bitrix, Linux
Видалення «кинутих» кошиків в системі Бітрікс
Рубрика: Bitrix
Використання highload-блоків в Bitrix
Рубрика: Bitrix
Як виконати SQL запит в Bitrix
Рубрика: Bitrix
Як підрахувати кількість елементів в Bitrix?
Рубрика: Bitrix
Динамічне масштабування зображень в Bitrix
Рубрика: Bitrix
Виключаємо користувача з ID=1 групи адміністраторів в Bitrix
Рубрика: Bitrix
Як скинути пароль адміністратора у Bitrix?
Рубрика: Bitrix
SQL-запити в бітрікс
Рубрика: Bitrix
Коментарі
01.12.2015 в 09:21
А взагалі, краще завантажити бібліотеку на свій сервер, і підключати до нього…
зате якщо користувач вже завантажував на іншому сайті дану бибилиотеку, що скоріше всього, т. к. для цього все і вказують джерелом google, то бибилиотека викликається з пам’яті ще швидше
Відповісти
29.06.2016 в 19:26
а куди файл ajax.php класти?
Відповісти
30.06.2016 в 10:03
У прикладі він розміщується в корені, шлях до файлу-скрипту змінюється в рядку: $.getJSON(‘ajax.php’
Відповісти