Рассылка и tt_news
Подскажите, возможно ли реализовать подписку и рассылку новостей с помошью tt_news. Если да, то где об этом можно почитать?
|
варианты
1) aux_newsmailer (довольно сложный, но вполне работоспособный экст ) на wciom.ru используется он (правда в сильно модифицированном виде) 2) tcdirectmail - можно рассылать что угодно. Новость вставлять как record в страницу письма (т.е. по одной штуке и вручную) (но подписки в нем нет, это надо будет отдельно) по обоим экстеншенам есть дока |
Настроил aux_newsmailer - работает хорошо.
В принципе ничего сложного нет - документация вполне удовлетворительная. Единственная трудность была - при отправке письма из cron-а надписи [Подробнее] и "К вам пришло письмо, так как Вы подписались..." приходит по английски. Решил победить эту проблему. Стал выяснять значения массивов, ставя echo или print_r в теле файла class_auxnewsmailer_core.php: 1. $LANG->lang равен ru - нормально 2. $GLOBALS['LOCAL_LANG'] усечен - нет русских надписей Решение пришло таким образом: в CLI bat-файле mailer.sh добавить строку $LANG->init('ru'); после строк $LANG=t3lib_div::makeInstance('language');^M $LANG->init('default'); Вопрос к тем кто создавал расширения и писал cli-файлы: Нет ли другого, более короткого, способа, чтобы shell-скрипт создавал LOCAL_LANG и $LANG(который тоже создавался в mailer.sh)? То есть строки в CLI-файле лишние? или без них никак не обойтись? require($typopath.'typo3/sysext/lang/lang.php'); $LANG=t3lib_div::makeInstance('language'); $LANG->init('default'); $LANG->init('ru'); |
Помимо предыдущего поста пришлось сделать следующее:
1. Внес патч для sr_feuser_register для возможности удаления профиля самим пользователем. http://bugs.typo3.org/view.php?id=8844&nbn=7 2. Добавил изменения в файлы class_auxnewsmailer_core.php и index.php в каталоге typo3conf/ext/aux_newsmailer/mod1 для возможности экстренно удалить подготовленные письма без отправки - мало ли что. Для этого написал функцию помечающую письма как отправленные и привязал к ссылке - автор расширения не успел это сделать, хотя ссылку саму успел сгенерировать. 3. Добавил $sql.='fe_users.deleted=0 and '; в файл class_auxnewsmailer_core.php - для того чтобы письма не отправлялись удаленным пользователям - тоже баг был. Как разместить в репозитарии расширения правки во 2 и 3 пунктах? |
Цитата:
Можно написать автору экста, чтобы он внес правки, но экст вроде давно не обновляется, так что автору это врядли будет интересно.. но попробовать можно. Второй вариант - сделать экст, которые XCLASSит этот экст Третий вариант - сделать форк... но это долго, все переименовывать надо |
Я где-то год назад писал автору этого ext по поводу вышеупомянутых багов.
Он мне ответил что сейчас готовит новую версию и через месяц-два она появиться и там баги пофиксяться. Однако воз и ныне там. ПС: А вообще данный экст без будущего. Как я понял, изучая код (это было год назад, может что не помню и путаю), идея автора была генерить нормальный html/plain код писем "как в FE". Однако для этого нужно решить одну "маленькую" проблему - генерить FE линки в BE. Решения такого пока имхо нет. В текущем варианте линки получаются вида ?id=... Не говоря уж о малой красоте таких линков, у нас такие линки не открывались когда tt_news был USER (из за отсутствия cHash), пришлось cделать USER_INT. Вот если бы добавить рассылку по расписанию в direct_mail - это было бы решением для действительно работающего сервиса рассылок чего угодно. |
Цитата:
Я бы не сказал что этот плагин без будущего. Его главное достоинство - что он рассылает заголовок или текст новости по расписанию. А прикрепить к нему FE-линк помоему можно - кажется в мануалах про это написано. Из других обсуждений я встречал проблему отправки новости типа "Ссылка" - то есть вроде как она отправляется в виде заголовка - а реальный адрес новости иной. Хотя вроде как плагин tt_news сам должен разрулить эту ссылку. Есть также расширения по рассылке новостей: dkd_news2directmail sg_newsletter eyepin - используется стороннее ПО для рассылки |
Цитата:
Посещаемый сайт *не кэшируемая* страница с новостями просто убьет. Цитата:
FE линков там точно нет, они просто не возможны в BE (а генерация идет в режиме BE). В Direct Mail совсем другой подход к формированию контента, но нет переодических рассылок по расписанию. ПС: Развитие aux_newsmailer как раз возможно в том направлении, что контент будет браться со специально созданной для этого страницы (как в Direct Mail), а не формироваться внутри кода. Но для работы с подпиской по категориям новостей нужно повторно реализовать то что уже сделано в Direct Mail. ПС2: При количестве подписчиков больше 10000 у нас генерация писем обрывалась. Так как используется не оптимальный алгоритм - для каждого отдельного подписчика делается выборка подходящих ему новостей и сохраняется отдельное письмо, даже если все подписчики получают одно и тоже! Оптимизация для случая этого в aux_newsmailer есть, но с багом и часто не срабатывает. Пришлось переписывать часть алгоритма формирования писем - скорость увеличилась в сотни раз, количество сохраняемой информации в БД уменьшилось в тысячи. ПС3: Экст dkd_news2directmail может быть работает. Но потребность периодических рассылок возникает не только для новостей :( |
Сталкнулся с проблемой настройки aux_newsmailer. Можно узнать по подробнее о его настройке.
Для регистрации пользователей на сайте я использую sr_feuser_register, все созданные пользователи хранятся в sys folder - "User". Новости хранятся в sys folder - "News", а группы новостей в sys folder - "Group_news". При настройке Newsletter control -> folders я указал (Newsletter control находится в той же в папке где и все новости, т.е. в "News"): FE UserProfilePage - FE Users folder - User New page - News News folders - News На страницу "Подписка", где собственно и должна происходить подписка на новости, я поставил плагин "FE User newsletter subscription". На вкладке Default в поле FE User settings я выбрал папку "User". На вкладке Categories я поставил галочку в show news categories,Show e-mail sign up,Show description, в location выбрал папку "Group" Что делать дальше? |
Цитата:
для контрола Newsletter FE User Profile Page = Подписка FE Users folder = User New page = страница где видно тело письма (нужно только для предварит просмотра - в CLI-режиме смысла не имеет) News folders = можно не указывать если контрол на той же странице как у вас для FE User newsletter subscription FE User settings = User для категорий все верно сделали |
Часовой пояс GMT +4, время: 03:27. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot