Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Можно короче
$thread = $object->getOne('Thread'); // можно и в нижний if засунуть. Только скобки нужны. Но выглядит не очень.
if($thread && $resource = $thread->getOne('Resource')) {
        $resource->set('editedon', time());
        $resource->save();
        $resource->clearCache();
    }
}
Можно даже очистить кэш до сохранения и закэшировать в момент сохранения. Но нужно смотреть результат.
$resource->clearCache(); // возможно это можно опустить, если при сохранении ниже старый кэш затрётся новым. Но я не уверен.
$resource->set('editedon', time());
$resource->save(true);  // сохранить и создать кэш.
Вы просите помочь с платным пакетом. Соответственно знающих мало. Если Вы его купили, обратитесь в техподдержку магазина. Если стырили, то…

По поводу кода плагина. Это треш.
Во-первых, может быть в плагине уже доступен нужный объект. Автор подскажет.
Во-вторых, зачем ради изменения одного поля менять весь объект через тяжелый процессор.
$res->set('publishedon', time());
$res->save();
В-третьих, очистить кэш ресурса можно одной строкой
$res->clearCache();
Но с этим проблем нет, плагин это делает.
Да уж, проблем нет. 2 раза подряд слать один и тот же запрос в базу и поднимать объекты ресурсов. Хуже не придумаешь.

$modx->config['site_start'] = $domains[$_SERVER['HTTP_HOST';
Советую поставить какую-нибудь IDE с анализатором кода.