Добрый день.
Есть форма подписки, с рубриками (Новости и Обновление каталога), выбираем рубрику/рубрики, набираем email, нажимаем кнопку отправить, добавляется подписчик и отправляется письмо на введенный email.
Вышеперечисленое работает, нужно сделать:
В письме должны быть названия выбранных рубрик/рубрики.
В стандартном почтовом шаблоне "Подтверждение подписки" есть стандартные доступные поля.
Доступные поля:
#ID# - идентификатор подписки
#EMAIL# - адрес подписки
#CONFIRM_CODE# - код подтверждения
#SUBSCR_SECTION# - раздел, где находится страница редактирования подписки (задается в настройках)
#USER_NAME# - имя подписчика (может отсутствовать)
#DATE_SUBSCR# - дата добавления/изменения адреса
#DEFAULT_EMAIL_FROM# - E-Mail адрес по умолчанию (устанавливается в настройках)
#SITE_NAME# - Название сайта (устанавливается в настройках)
#SERVER_NAME# - URL сервера (устанавливается в настройках)
Делается это все в /init.php. В самих модулях править вроде как нельзя.
Нашел модули тут:http://dev.1c-bitrix.ru/api_help/mai...dentifiers.php
Cобытия тутhttp://dev.1c-bitrix.ru/api_help/mai....php#eventmess
Пока в отдельном тестовом файле в init.php пока не записывал, страшно)
<?
AddEventHandler("subscribe", "OnBeforeEventAdd", "addRubrics" ;) ;
$arRubrics = array(
"NEWS" => "",
"NEW_CATALOG" => ""
);
function addRubrics(&$arRubrics){
if (isset($_POST["RUB_ID[]"] ;) ){
$arRubrics["NEWS"] = "Новости";
$arRubrics["NEW_CATALOG"] = "Обновление каталога";
}
else{
$arRubrics["NEWS"]="";
$arRubrics["NEW_CATALOG"]="";
}
$arEventFields = array(
"RUBRIC_NEWS" => $arRubrics["NEWS"],
"RUBRIC_NEW_CATALOG"=> $arRubrics["NEW_CATALOG"]
);
CEvent::SendImmediate("SUBSCRIBE_CONFIRM_RUBRICS", s2, $arEventFields);
}
?>
Вывод рубрик в компоненте
<?foreach($arResult["RUBRICS"] as $itemID => $itemValue):?>
<label>
<input class="checkboxes_component" type="checkbox" name="RUB_ID[]" value="<?=$itemValue["ID"]?>"
<?if($itemValue["CHECKED"] ;) echo " checked"?> />
<?=$itemValue["NAME"]?>
</label>
<?endforeach;?>
Поправьте меня пожалуйста
Есть форма подписки, с рубриками (Новости и Обновление каталога), выбираем рубрику/рубрики, набираем email, нажимаем кнопку отправить, добавляется подписчик и отправляется письмо на введенный email.
Вышеперечисленое работает, нужно сделать:
В письме должны быть названия выбранных рубрик/рубрики.
В стандартном почтовом шаблоне "Подтверждение подписки" есть стандартные доступные поля.
Доступные поля:
#ID# - идентификатор подписки
#EMAIL# - адрес подписки
#CONFIRM_CODE# - код подтверждения
#SUBSCR_SECTION# - раздел, где находится страница редактирования подписки (задается в настройках)
#USER_NAME# - имя подписчика (может отсутствовать)
#DATE_SUBSCR# - дата добавления/изменения адреса
#DEFAULT_EMAIL_FROM# - E-Mail адрес по умолчанию (устанавливается в настройках)
#SITE_NAME# - Название сайта (устанавливается в настройках)
#SERVER_NAME# - URL сервера (устанавливается в настройках)
Делается это все в /init.php. В самих модулях править вроде как нельзя.
Нашел модули тут:
Cобытия тут
Пока в отдельном тестовом файле в init.php пока не записывал, страшно)
<?
AddEventHandler("subscribe", "OnBeforeEventAdd", "addRubrics" ;) ;
$arRubrics = array(
"NEWS" => "",
"NEW_CATALOG" => ""
);
function addRubrics(&$arRubrics){
if (isset($_POST["RUB_ID[]"] ;) ){
$arRubrics["NEWS"] = "Новости";
$arRubrics["NEW_CATALOG"] = "Обновление каталога";
}
else{
$arRubrics["NEWS"]="";
$arRubrics["NEW_CATALOG"]="";
}
$arEventFields = array(
"RUBRIC_NEWS" => $arRubrics["NEWS"],
"RUBRIC_NEW_CATALOG"=> $arRubrics["NEW_CATALOG"]
);
CEvent::SendImmediate("SUBSCRIBE_CONFIRM_RUBRICS", s2, $arEventFields);
}
?>
Вывод рубрик в компоненте
<?foreach($arResult["RUBRICS"] as $itemID => $itemValue):?>
<label>
<input class="checkboxes_component" type="checkbox" name="RUB_ID[]" value="<?=$itemValue["ID"]?>"
<?if($itemValue["CHECKED"] ;) echo " checked"?> />
<?=$itemValue["NAME"]?>
</label>
<?endforeach;?>
Поправьте меня пожалуйста