Как запускать сниппеты через cron в Modx Evo.

Как запускать сниппеты через cron в Modx Evo.

Настраивал запуск сниппета для автоматического обновления блока горячих предложений на сайте интернет-магазина.
Делал по рекомендации http://modx.im//blog/questions/5151.html
Ошибки с которыми столкнулся:
Fatal error: Uncaught exception ‘RuntimeException’ with message ‘Please, define MODX_BASE_PATH and MODX_BASE_URL on cli mode’
Fatal error: Uncaught exception ‘RuntimeException’ with message ‘Please, define MODX_SITE_URL on cli mode’
Fatal error: Uncaught exception ‘RuntimeException’ with message ‘Please, use trailing slash at the end of MODX_BASE_PATH’

Как вообще запустить сниппет через cron в Modx Evo:

1. Создаем snippet, например с названием MySnip.
2. В корне сайта создаем php файл с названием, например mycron.php
3. В этом файле размещаем следующий код:

$_SESSION['mgrRole'] = 1; //чтобы корректно работал MODX API
$path = '/home/host1663966/parfumlux54.ru/htdocs/www/';
define('MODX_API_MODE', true);
define('MODX_BASE_PATH', '/home/host1663966/parfumlux54.ru/htdocs/www/');
define('MODX_SITE_URL', 'https://parfumlux54.ru/');
define('MODX_BASE_URL', 'https://parfumlux54.ru/');
include_once($path . 'index.php');
global $modx;
if (empty ($modx->config)) {
$modx->getSettings();
}
$modx->runSnippet('hotdealid');

На хостинге добавляем команды cron для запуска этого файла:
У меня это:
cd /home/XXXXXX/yoursite.ru/htdocs/www; php mycron.php

Добавить комментарий

Ваш адрес email не будет опубликован.