<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>Cotonti - Рассылки</title>
		<link>https://lily-software.com</link>
		<description>Лента комментариев страницы</description>
		<generator>Cotonti</generator>
		<language>ru</language>
		<pubDate>Wed, 10 Jun 2026 02:48:40 +0300</pubDate>

		<item>
			<title>Комментируемая страница</title>
			<description><![CDATA[<p>Модуль рассылок для CMF Cotonti.</p>

<p><em>Тип</em>: <strong>Модуль</strong><br /><em>Версия<strong>: 1.0</strong></em><br /><em>Совместимость</em>: <strong>Siena</strong></p>

<p style="text-align:justify;"><em>GitHub:</em> <a href="https://lily-software.com/go.php?https://github.com/Alex300/subscribe">https://github.com/Alex300/subscribe</a></p>

<p style="text-align:justify;"> </p>

<p style="text-align:justify;">Это расширение позволяет организовать рассылки на Вашем сайте под управлением Cotonti. Рассылки можно создать вручную, либо организовать автоматические подписки на страницах сайта. Это могут быть последние новости, новинки Вашего интернет магазина и т.п.</p>

<p style="text-align:justify;"> </p>

<p><strong>Системные требования и ограничения:</strong></p>

<ul><li>Наличие на Вашем сайте установленной <a href="https://lily-software.com/sozdanie-internet-sajtov/free-scripts/cotonti-lib">библиотеки cotonti-lib</a> <strong>версии <a href="https://github.com/Alex300/cotonti-lib/releases/tag/v1.5" target="_blank">1.5</a></strong> (именно 1.5 а не 2)</li>
	<li>В качестве шаблонизатора используется <a href="https://lily-software.com/sozdanie-internet-sajtov/free-scripts/cotonti-lib/view">View</a></li>
	<li>Административная часть модуля сделана под панель управления <a href="https://lily-software.com/sozdanie-internet-sajtov/free-scripts/cpanel">Cpanel</a>. Если Вы используете стандартную панель администратора Cotonti, Вам нужно переопределить соотвествующие шаблоны.</li>
</ul><p> </p>

<p><strong>Установка:</strong><br />
- Скопировать модуль на сервер или склонировать репозиторий в папку <strong>modules/subscribe</strong><br />
- Установить модуль из панели администратора<br />
- В папке <strong>inc</strong> установить права на запись на файл '<strong>queue.txt</strong>'<br />
- Создать рассылки в панели администратора<br />
- Создать задание для <strong>cron</strong> для отправки писем (см. ниже)</p>

<p> </p>

<p style="text-align:justify;"><strong>Возможности:</strong><br />
   - Создание различных рассылок на Вашем сайте<br />
   - Ручное и автоматическое создание контента рассылки<br />
   - Ручное добавление подписчиков администратором<br />
   - Форма подписки на любую рассылку на Вашем сайте для пользователей<br />
   - Использование очереди отправки, чтобы распределить нагрузку на сервер при выполнении рассылки<br />
   - Подтверждение электронного адреса для незарегистрированных пользователей</p>

<p> </p>

<p style="text-align:justify;"><strong>Создание рассылки:</strong><br />
Рассылки создаются в панели управления. Вы можете настроить получение контента по некоторому URL-адресу (если какой то из установленных у Вас модулей предоставляет соответствующий функционал) или добавить контент вручную.</p>

<p style="text-align:justify;">Также Вы можете настроить шаблон для каждой рассылки. Это дает большие возможности по формированию контента рассылки. В шаблонах Вы можете использовать любые виджеты, например <strong>pagelist. </strong></p>

<p style="text-align:justify;">Шаблоны именуются по такому принципу: <strong>subscribe.mail.&lt;alias&gt;.php</strong>, где alias - это алиас, назначенный данной рассылке.</p>

<p> </p>

<p>Пример фрагмента шаблона ежедневной рассылки новостей:</p>

<pre class="brush:php;">
$begin = strtotime(date('Y-m-d 00:00:01', cot::$sys['now'])); // Начало суток
$condition = "page_state=0 AND page_begin &gt;= {$begin} AND (page_expire = 0 OR page_expire &gt; ".
    cot::$sys['now'].")"

?&gt;
&lt;div style="width: 800px; margin: 0 auto 20px auto"&gt;
    &lt;h1 style="font-size: 36px"&gt;
        &lt;a href="https://lily-software.com/&lt;?=cot::$cfg['mainurl']?&gt;"&gt;&lt;img src="https://lily-software.com/&lt;?=cot::$cfg['mainurl']?&gt;/themes/your-theme/img/logo-small.png"&gt;&lt;/a&gt;
        Новости от &lt;?=cot::$cfg['maintitle']?&gt;
    &lt;/h1&gt;
    &lt;div style="margin-top: 20px"&gt;
        &lt;?=pagelist('pagelist.subscribe.daily_news', 0, 'page_begin DESC',  $tools_condition)?&gt;
    &lt;/div&gt;
    &lt;?php 

    // Выводим тект рассылки, добавленный в админке
    echo $this-&gt;text;?&gt;
&lt;/div&gt;</pre>

<p style="text-align:justify;">В этом примере используется виджет плагина <strong>pagelist</strong> для формирования списка новостей за день. А ниже выводится текст, добавленный в админке.</p>

<p> </p>

<p style="text-align:justify;"><strong>Создание заданий Cron:</strong><br />
Рассылки могут рассылаться пользователям как за "один раз" так и при помощи очереди. Последний вариант предпочтительнее т.к. при большом количестве получателей позволяет распределить нагрузку на сервер в течение дня.</p>

<p style="text-align:justify;">Указывая в настройках модуля количество писем, отправляемых из очереди за один раз ставьте такое значение, чтобы в конце суток у Вас очередь оказалась пустой. Иначе письма в очереди станут накапливаться.</p>

<p style="text-align:justify;">Независимо от выбранного способа отправки Вам необходимо в cron добавить следующее задание:</p>

<pre class="brush:bash;">
# Выполняется в 0:10, 2:10, 4:10 и т. д.
10 */2 * * *  php /path/to/your/site/cli.php --a subscribe.main.run &gt; /path/to/your/site/log/subscribe.log</pre>

<p style="text-align:justify;">Пути к файлам следует изменить на нужные.</p>

<p style="text-align:justify;">Сделать это можно из консоли, выполнив следующую команду:</p>

<pre class="brush:bash;">
crontab -e</pre>

<p style="text-align:justify;">Если на Вашем хостинге нет доступа к командной строке, то используйте те инструменты, которые предоставляет Ваш хостер.</p>

<p> </p>

<p>Для запуска обработчика очереди, добавьте в <strong>cron</strong> задание:</p>

<pre class="brush:bash;">
# Выполняется каждые 30 минут
*/30 * * * *  php /path/to/your/site/cli.php --a subscribe.main.runQueue &gt; /path/to/your/site/log/subscribeQueue.log</pre>

<p> </p>

<p><strong>Разное:</strong></p>

<p><strong>http://&lt;ваш_домен&gt;/subscribe</strong> - активные периодические рассылки. Авторизованные пользователи могут на них подписаться</p>

<p><strong>cot_url('subscribe', array('m'=&gt;'user'))</strong> - мои подписки пользователя<br /><strong>cot_url('subscribe', array('m'=&gt;'user', 'uid'=1))</strong> - подписки пользователя с id=1</p>

<p> </p>

<p style="text-align:justify;">GitHub: <a href="https://lily-software.com/go.php?https://github.com/Alex300/subscribe">https://github.com/Alex300/subscribe</a></p>
]]></description>
			<pubDate>пн, 20 июл 2015 10:34:00 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/free-scripts/subscribe]]></link>
		</item>
	</channel>
</rss>