Разработка доски объявлений под ключ › Boxcode › Программная часть (back-end) › Модуль рассылки и уникализация текста
- В этой теме 48 ответов, 2 участника, последнее обновление 5 лет, 6 месяцев назад сделано
sarkis.
-
АвторСообщения
-
25.07.2017 в 23:30 #1815
Grisha
УчастникЗдравствуйте. В Бокскоде 8.4 есть модуль для рассылки по зарегистрированным пользователям. Интересует есть ли там способ уникализировать текст рассылки? Хотя бы, чтобы пользователь Вася, получал письмо с подобным содержанием: Здравствуйте {name_user}… итп
26.07.2017 в 00:17 #1816sarkis
ХранительЗдравствуйте.
sendnews_cron.php
ищите text_news и name_news после чего делайте replace макросов каких угодно, например
1$rez["name_news"] = str_replace(array('[:name_user:]'),array($name_user),$rez["name_news"]);только предварительно вам нужно сделать выборку на имя юзера , подобно методу selectEmailSubscribe
26.07.2017 в 00:26 #1817Grisha
УчастникНемножко сложновато, но буду пробовать. Страшновато. Надо думать как протестировать, перед внедрением. Юзеров 6000 и не хотелось бы php код им отправить случайно))) Спасибо.
27.07.2017 в 00:19 #1819Grisha
УчастникПисьма будут отправляться, только зарег. пользователям, у которых стоит галочка «получать новости».
Я смотрю в запросе уже есть «name_user» — $db_query=»select name_user,email_user from «.DB_PREF.»users where activ_user=’on’ and on_subscribe=’on’ «;Можно ли туда добавлять еще скажем «date_create» и как тогда будет выглядеть replace макросов?
27.07.2017 в 00:40 #1820Grisha
Участниквот так?
$name_user=$row[«name_user»];
$date_create=$row[«date_create»];$makrosi = array(«[:name_user:]», «[:date_create:]»);
$dannie = array($name_user, $date_create);
$rez[«text_news»] = str_replace($makrosi, $dannie, $rez[«text_news»]);
27.07.2017 в 01:10 #1821sarkis
ХранительДа, логика верная !
02.08.2017 в 19:45 #1828Grisha
УчастникЗдравствуйте Саркис. Не получилось к сожалению. Видимо или я не правильно вопрос задал или вы меня не так поняли. Расскажу подробнее…
Открываем /allmodul.php?modul=subscribe
Жмем «Новая рассылка»
Пишем заголовок рассылки (например: Отличная новость)
Пишем текст новости:Здравствуйте {:name_user:}.
Мы рады сообщить вам, что эта новость самая самая итп…А пользователь получит такое сообщение:
Здравствуйте Александр.
Мы рады сообщить вам, что эта новость самая самая итп…То есть та же, как реализовано в ПУ, где создается шаблон отправки писем, когда срок истекает.
Вот пример:
Пояснение: html-текст, в тексте можно использовать переменные {:name_adv:} — заголовок объявления, {:url_adv:} — адрес объявления, {:date:} — дата завершения действия объявления, {:url_extend:} — url-адрес страницы продления объявления, {:url_site:} — url-адрес сайта, {:name_site:} — название сайта02.08.2017 в 21:02 #1831sarkis
ХранительЗдравствуйте. Ну так, а что не получилось — то ?
02.08.2017 в 21:10 #1832Grisha
УчастникЕсли код
$name_user=$row[«name_user»];
$mail=$row[«email_user»];$makrosi = array(«[:name_user:]», «[:email_user:]»);
$dannie = array($name_user, $mail);
$rez[«text_news»] = str_replace($makrosi, $dannie, $rez[«text_news»]);вставлять после
$subject=decodeText($rez[«name_news»]);
$message=decodeText($rez[«text_news»]);то письма приходят с переменной Здравствуйте [:name_user:]
если до, то переменная $row[«name_user»] пустая
02.08.2017 в 21:16 #1833sarkis
Хранительу вас $name_user выводит имя ?
02.08.2017 в 21:20 #1834Grisha
УчастникНет, пуста переменная(
02.08.2017 в 21:24 #1836sarkis
Хранительну а выборку вы делали для получения имени ?
02.08.2017 в 21:27 #1837Grisha
УчастникЯ думал отсюда получу значение
//получаем список зарегистрированных пользователей согласившихся получать рассылку
$this->error_baz=false;
$data=array();$db_query=»select name_user,email_user from «.DB_PREF.»users where activ_user=’on’ and on_subscribe=’on’ «;
….
…while ($row=mysql_fetch_assoc($q_ident))
$data[]=array($row[«email_user»],$row[«name_user»]);02.08.2017 в 21:34 #1840sarkis
Хранительт.е var_dump($row[“name_user”]) дает вам пустоту ?
02.08.2017 в 21:41 #1843Grisha
Участникпри наборе site.ru/modul/subscribe/mdadmin/p_ajax/sendnews_cron.php — 404
как посмотреть результат? простите, туп в пхп
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.