новости, у которой прошел срок публикации.
снипет выглядит примерно так
$ids = $modx->getChildIds($parentID, 3, array('context' => 'web'));
$categories = $modx->getCollection('modResource', array('id:IN' => $ids));
$cats = array_combine(array_column($categories, 'id'), $categories);
$pairs = array_map(function($cat) {
return array(
"id" => $cat->parent,
"published" => $cat->published,
"promo_end" => $cat->getTVValue("news_end"));
}, $cats);
$callback = function($item) {
return $item['published'] == 1;
};
$filteredArray = array_filter($pairs, $callback);
$currentDate = date('Y-m-d H:i:s');
foreach ($filteredArray as $key => $news) {
$newsEndDate = $promo['news_end'];
if (strtotime($newsEndDate) < strtotime($currentDate)) {
$dataArray[$key]['published'] = 0;
}
}
но почему то это не работает, может неправильный способ снятия с публикации ?
PS на название переменных не обращайте внимание потом перепишу)
Зачем так сложно? Почему бы просто не получить список ресурсов у которых дата завершения публикации меньше текущей и поставить им published = 0 и СОХРАНИТЬ ресурс, чего ты не делаешь в своём сниппете
да
https://itchief.ru/modx/xpdo-introduction вот статья в помощь
Обсуждают сегодня