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

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

В этой теме 48 ответов, 2 участника, последнее обновление sarkis sarkis 1 год, 4 мес. назад.

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

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

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

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

    sendnews_cron.php

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

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

    #1817
    Grisha
    Grisha
    Участник

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

    #1819
    Grisha
    Grisha
    Участник

    Письма будут отправляться, только зарег. пользователям, у которых стоит галочка “получать новости”.
    Я смотрю в запросе уже есть “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
    Grisha
    Grisha
    Участник

    вот так?

    $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
    sarkis
    sarkis
    Хранитель

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

    #1828
    Grisha
    Grisha
    Участник

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

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

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

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

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

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

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

    • Этот ответ был изменен 1 год, 4 мес. назад от Grisha Grisha.
    • Этот ответ был изменен 1 год, 4 мес. назад от Grisha Grisha.
    #1831
    sarkis
    sarkis
    Хранитель

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

    #1832
    Grisha
    Grisha
    Участник

    Если код

    $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
    sarkis
    sarkis
    Хранитель

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

    #1834
    Grisha
    Grisha
    Участник

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

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

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

    #1837
    Grisha
    Grisha
    Участник

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

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

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

    #1843
    Grisha
    Grisha
    Участник

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

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

Просмотр 15 сообщений - с 1 по 15 (из 49 всего)

Для ответа в этой теме необходимо авторизоваться.