Разработка доски объявлений под ключ Boxcode Программная часть (back-end) Модуль рассылки и уникализация текста

Помечено: , , ,

Просмотр 15 сообщений - с 1 по 15 (из 49 всего)
  • Автор
    Сообщения
  • #1815
    GrishaGrisha
    Участник

    Здравствуйте. В Бокскоде 8.4 есть модуль для рассылки по зарегистрированным пользователям. Интересует есть ли там способ уникализировать текст рассылки? Хотя бы, чтобы пользователь Вася, получал письмо с подобным содержанием: Здравствуйте {name_user}… итп

    #1816
    sarkissarkis
    Хранитель

    Здравствуйте.

    sendnews_cron.php

    ищите text_news и name_news после чего делайте replace макросов каких угодно, например

    только предварительно вам нужно сделать выборку на имя юзера , подобно методу selectEmailSubscribe

    #1817
    GrishaGrisha
    Участник

    Немножко сложновато, но буду пробовать. Страшновато. Надо думать как протестировать, перед внедрением. Юзеров 6000 и не хотелось бы php код им отправить случайно))) Спасибо.

    #1819
    GrishaGrisha
    Участник

    Письма будут отправляться, только зарег. пользователям, у которых стоит галочка «получать новости».
    Я смотрю в запросе уже есть «name_user» — $db_query=»select name_user,email_user from «.DB_PREF.»users where activ_user=’on’ and on_subscribe=’on’ «;

    Можно ли туда добавлять еще скажем «date_create» и как тогда будет выглядеть replace макросов?

    #1820
    GrishaGrisha
    Участник

    вот так?

    $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»]);

    #1821
    sarkissarkis
    Хранитель

    Да, логика верная !

    #1828
    GrishaGrisha
    Участник

    Здравствуйте Саркис. Не получилось к сожалению. Видимо или я не правильно вопрос задал или вы меня не так поняли. Расскажу подробнее…

    Открываем /allmodul.php?modul=subscribe
    Жмем «Новая рассылка»
    Пишем заголовок рассылки (например: Отличная новость)
    Пишем текст новости:

    Здравствуйте {:name_user:}.
    Мы рады сообщить вам, что эта новость самая самая итп…

    А пользователь получит такое сообщение:

    Здравствуйте Александр.
    Мы рады сообщить вам, что эта новость самая самая итп…

    То есть та же, как реализовано в ПУ, где создается шаблон отправки писем, когда срок истекает.

    Вот пример:
    Пояснение: html-текст, в тексте можно использовать переменные {:name_adv:} — заголовок объявления, {:url_adv:} — адрес объявления, {:date:} — дата завершения действия объявления, {:url_extend:} — url-адрес страницы продления объявления, {:url_site:} — url-адрес сайта, {:name_site:} — название сайта

    • Ответ изменён 3 года, 4 месяца назад пользователем GrishaGrisha.
    • Ответ изменён 3 года, 4 месяца назад пользователем GrishaGrisha.
    #1831
    sarkissarkis
    Хранитель

    Здравствуйте. Ну так, а что не получилось — то ?

    #1832
    GrishaGrisha
    Участник

    Если код

    $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»] пустая

    #1833
    sarkissarkis
    Хранитель

    у вас $name_user выводит имя ?

    #1834
    GrishaGrisha
    Участник

    Нет, пуста переменная(

    #1836
    sarkissarkis
    Хранитель

    ну а выборку вы делали для получения имени ?

    #1837
    GrishaGrisha
    Участник

    Я думал отсюда получу значение

    //получаем список зарегистрированных пользователей согласившихся получать рассылку
    $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»]);

    #1840
    sarkissarkis
    Хранитель

    т.е var_dump($row[“name_user”]) дает вам пустоту ?

    #1843
    GrishaGrisha
    Участник

    при наборе site.ru/modul/subscribe/mdadmin/p_ajax/sendnews_cron.php — 404

    как посмотреть результат? простите, туп в пхп

Просмотр 15 сообщений - с 1 по 15 (из 49 всего)
  • Для ответа в этой теме необходимо авторизоваться.