Документация для разработчиков
Темная тема

Execute

string
CPostingTemplate::Execute();

Метод выбирает шаблон для генерации выпуска рассылки в соответствии с расписанием.

Сначала делается выборка всех рассылок отмеченных как активные и автоматические. Затем для каждой из них выполняется проверка на необходимость генерации выпуска. Как только найдена такая рассылка для нее вызывается метод CPostingTemplate::AddPosting и на этом функция Execute завершает свою работу.

Этот метод предназначен для вызова из сценария cron'а или агента. Метод статический.

Параметры

Метод не имеет параметров.

Возвращаемые значения

Если была найдена хотя бы одна активная и автоматическая рассылка, то возвращается строка для вызова из агента, иначе возвращается пустая строка.

Пример использования в сценарии PHP для cron'а

#!/usr/bin/php
<?php
//Здесь необходимо указать ваш DOCUMENT_ROOT!
$_SERVER["DOCUMENT_ROOT"] = "/opt/www/html";
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
set_time_limit(0);
define("LANG", "ru");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("subscribe"))
	CPostingTemplate::Execute();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Пётр Невенчанный
Доработанный код скрипта.
Этот код вызывает PHP с включением short_open_tag.
Еще в скрипте указано запуска скрипта без ограничения и вызова команды CPostingTemplate::Execute ровно столько раз сколько в системе рубрик.

Код
#!/usr/bin/php -d short_open_tag=on
<?php
ini_set('short_open_tag', 1);
ini_set('sendmail_path', '/opt/CommuniGate/sendmail');
ini_set("max_execution_time", 1000);
ini_set("max_input_time", 1000);
//Здесь необходимо указать ваш DOCUMENT_ROOT!
$_SERVER["DOCUMENT_ROOT"] = "/srv/www/htdocs/kazbc.kz/public_html";
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
set_time_limit(0);
define("LANG", "ru");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("subscribe"))
    $rub = CRubric::GetList(array("SORT"=>"ASC", "NAME"=>"ASC"), array("ACTIVE"=>"Y"));
    $i=0;
    while($rub->ExtractFields("r_")):
        $i++;
        echo $r_ID." - ".$i."\n";
        CPostingTemplate::Execute();
    endwhile;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх