Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 06.06.2007, 18:31   #1
shevaK
Новенький
 
Регистрация: 06.06.2007
Сообщений: 4
Question Рассылка и tt_news

Подскажите, возможно ли реализовать подписку и рассылку новостей с помошью tt_news. Если да, то где об этом можно почитать?
shevaK вне форума   Ответить с цитированием
Старый 06.06.2007, 23:34   #2
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

варианты
1) aux_newsmailer (довольно сложный, но вполне работоспособный экст )
на wciom.ru используется он (правда в сильно модифицированном виде)


2) tcdirectmail - можно рассылать что угодно. Новость вставлять как record в страницу письма (т.е. по одной штуке и вручную)
(но подписки в нем нет, это надо будет отдельно)

по обоим экстеншенам есть дока
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 14.07.2008, 07:49   #3
shuman
Senior Member
 
Регистрация: 21.11.2007
Сообщений: 217
По умолчанию

Настроил 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');
shuman вне форума   Ответить с цитированием
Старый 16.07.2008, 15:24   #4
shuman
Senior Member
 
Регистрация: 21.11.2007
Сообщений: 217
По умолчанию

Помимо предыдущего поста пришлось сделать следующее:

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 пунктах?
shuman вне форума   Ответить с цитированием
Старый 16.07.2008, 15:46   #5
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Цитата:
Как разместить в репозитарии расширения правки во 2 и 3 пунктах?
скорее всего - никак

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

Второй вариант - сделать экст, которые XCLASSит этот экст

Третий вариант - сделать форк... но это долго, все переименовывать надо
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 17.07.2008, 15:53   #6
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Я где-то год назад писал автору этого ext по поводу вышеупомянутых багов.
Он мне ответил что сейчас готовит новую версию и через месяц-два она появиться и там баги пофиксяться.
Однако воз и ныне там.

ПС: А вообще данный экст без будущего. Как я понял, изучая код (это было год назад, может что не помню и путаю), идея автора была генерить нормальный html/plain код писем "как в FE". Однако для этого нужно решить одну "маленькую" проблему - генерить FE линки в BE. Решения такого пока имхо нет. В текущем варианте линки получаются вида ?id=... Не говоря уж о малой красоте таких линков, у нас такие линки не открывались когда tt_news был USER (из за отсутствия cHash), пришлось cделать USER_INT.
Вот если бы добавить рассылку по расписанию в direct_mail - это было бы решением для действительно работающего сервиса рассылок чего угодно.

Последний раз редактировалось dmartynenko; 17.07.2008 в 16:37
dmartynenko вне форума   Ответить с цитированием
Старый 18.07.2008, 06:32   #7
shuman
Senior Member
 
Регистрация: 21.11.2007
Сообщений: 217
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
...о малой красоте таких линков, у нас такие линки не открывались когда tt_news был USER (из за отсутствия cHash), пришлось cделать USER_INT.
Вот если бы добавить рассылку по расписанию в direct_mail - это было бы решением для действительно работающего сервиса рассылок чего угодно.
Я решаю такую проблему просто - страница с tt_news CODE=single делалась не кешируемой - тогда cHash становится не нужным. То есть новость будет открываться всегда по tx_ttnews[tt_news]='.$news['uid']

Я бы не сказал что этот плагин без будущего. Его главное достоинство - что он рассылает заголовок или текст новости по расписанию. А прикрепить к нему FE-линк помоему можно - кажется в мануалах про это написано.

Из других обсуждений я встречал проблему отправки новости типа "Ссылка" - то есть вроде как она отправляется в виде заголовка - а реальный адрес новости иной. Хотя вроде как плагин tt_news сам должен разрулить эту ссылку.

Есть также расширения по рассылке новостей:
dkd_news2directmail
sg_newsletter
eyepin - используется стороннее ПО для рассылки
shuman вне форума   Ответить с цитированием
Старый 18.07.2008, 15:12   #8
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от shuman Посмотреть сообщение
Я решаю такую проблему просто - страница с tt_news CODE=single делалась не кешируемой - тогда cHash становится не нужным. То есть новость будет открываться всегда по tx_ttnews[tt_news]='.$news['uid']
Это решение одно проблемы и создание новой, еще бОльшей!
Посещаемый сайт *не кэшируемая* страница с новостями просто убьет.

Цитата:
Сообщение от shuman Посмотреть сообщение
Я бы не сказал что этот плагин без будущего. Его главное достоинство - что он рассылает заголовок или текст новости по расписанию. А прикрепить к нему FE-линк помоему можно - кажется в мануалах про это написано.

Из других обсуждений я встречал проблему отправки новости типа "Ссылка" - то есть вроде как она отправляется в виде заголовка - а реальный адрес новости иной. Хотя вроде как плагин tt_news сам должен разрулить эту ссылку.

Есть также расширения по рассылке новостей:
dkd_news2directmail
sg_newsletter
eyepin - используется стороннее ПО для рассылки
Дело в том, что aux_newsmailer сам формирует текст письма. Причем часть HTML кода того, что должно получиться, зашита в код aux_newsmailer (и кроме как правкой кода не меняется). И соответственно никак не используется tt_news для генерации списка новостей, и все возможности tt_news (разные типы новостей, картинки из DAM и т.п.) не доступны.

FE линков там точно нет, они просто не возможны в BE (а генерация идет в режиме BE).

В Direct Mail совсем другой подход к формированию контента, но нет переодических рассылок по расписанию.

ПС: Развитие aux_newsmailer как раз возможно в том направлении, что контент будет браться со специально созданной для этого страницы (как в Direct Mail), а не формироваться внутри кода. Но для работы с подпиской по категориям новостей нужно повторно реализовать то что уже сделано в Direct Mail.

ПС2: При количестве подписчиков больше 10000 у нас генерация писем обрывалась. Так как используется не оптимальный алгоритм - для каждого отдельного подписчика делается выборка подходящих ему новостей и сохраняется отдельное письмо, даже если все подписчики получают одно и тоже! Оптимизация для случая этого в aux_newsmailer есть, но с багом и часто не срабатывает. Пришлось переписывать часть алгоритма формирования писем - скорость увеличилась в сотни раз, количество сохраняемой информации в БД уменьшилось в тысячи.

ПС3: Экст dkd_news2directmail может быть работает. Но потребность периодических рассылок возникает не только для новостей
dmartynenko вне форума   Ответить с цитированием
Старый 24.07.2008, 05:48   #9
Parson
Продвинутый
 
Аватар для Parson
 
Регистрация: 17.06.2008
Сообщений: 32
Отправить сообщение для Parson с помощью ICQ Отправить сообщение для Parson с помощью Skype™
По умолчанию

Сталкнулся с проблемой настройки 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"

Что делать дальше?
Parson вне форума   Ответить с цитированием
Старый 24.07.2008, 12:10   #10
shuman
Senior Member
 
Регистрация: 21.11.2007
Сообщений: 217
По умолчанию

Цитата:
Сообщение от Parson Посмотреть сообщение
Сталкнулся с проблемой настройки 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
для категорий все верно сделали
shuman вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рассылка новостей tt_news. Как сделать последними плугинами? Konstantin Общие вопросы 2 27.06.2008 09:20
tt_news + рассылка новостей GrishanAnton Общие вопросы 2 27.06.2008 04:27
рассылка / подписка Tod Общие вопросы 8 02.06.2008 02:52
Рассылка новостей ursula1000 Общие вопросы 1 03.11.2005 16:36
Кривая рассылка конференции на русском. У всех так? Pilot Общие вопросы 0 18.11.2004 02:19


Часовой пояс GMT +4, время: 10:06.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория