Менять товар каждые 24 часа
        Добрый день, суть такова, есть отдельная страница называется — Товар дня, и у него имеется таймер 24 часа, я поставил через ТВ каждому товару чекбокс с Товар дня, подскажите пожалуйста как сделать чтоб Товар дня менялся каждые 24 часа из выбранных чекбоксов? сейчас просто вывел через просто 
спасибо заранее
    
    
                                                                                
            [[!pdoPage?
                &parents=`2,3,4`
                &where=`{"template":"6"}`
                &tpl=`tpl.spec`
                &includeTVs=`typeimg,price_spec,price_old_spec,check_price`
                &limit=`1`
                &tvFilters=`check_price==1`
                 ]] спасибо заранее
Комментарии: 5
                Была такая задача, правда товар выбирался не по чекбоксам, а указывался в TV с множественным выбором
Создаем TV product_of_the_day с типом ввода Список (множественный выбор), в возможных значениях там указываем
Дальше плагин на событие OnLoadWebDocument
Суть такова — товар выбирается по номеру дня недели, т.е. в списке первый товар будет на понедельник, второй на вторник и т.д.
В шаблоне получаем ID товара дня, можем делать с ним что угодно, в вашем случае подставить в вызов сниппета
                    Создаем TV product_of_the_day с типом ввода Список (множественный выбор), в возможных значениях там указываем
@SELECT `pagetitle` AS `name`,`id` FROM `[[+PREFIX]]site_content` WHERE `published` = 1 AND `deleted` = 0 AND (`template` = 16) // Тут вместо 16 ваш id шаблона с товаромДальше плагин на событие OnLoadWebDocument
Суть такова — товар выбирается по номеру дня недели, т.е. в списке первый товар будет на понедельник, второй на вторник и т.д.
<?
// Плагин на событие OnLoadWebDocument
$products_of_the_day = $modx->getObject('modTemplateVarResource', [
	'contentid' => 4, // id ресурса к которому привязан TV
	'tmplvarid' => 80 // id TV
]);
unset($_SESSION['product_of_the_day']);
if ($products_of_the_day) {
	
	$day = date('N');
	
	$products_of_the_day = explode('||', $products_of_the_day->get('value'));
	
	if (!empty($products_of_the_day) && isset($products_of_the_day[$day - 1])) {
		$_SESSION['product_of_the_day'] = $products_of_the_day[$day - 1];
	}
	
}В шаблоне получаем ID товара дня, можем делать с ним что угодно, в вашем случае подставить в вызов сниппета
{set $product_of_the_day_id = $.session.product_of_the_day}            
                Привет, а где надо написат это 
@SELECT `pagetitle` AS `name`,`id` FROM `[[+PREFIX]]site_content` WHERE `published` = 1 AND `deleted` = 0 AND (`template` = 16) // Тут вместо 16 ваш id шаблона с товаром
                    @SELECT `pagetitle` AS `name`,`id` FROM `[[+PREFIX]]site_content` WHERE `published` = 1 AND `deleted` = 0 AND (`template` = 16) // Тут вместо 16 ваш id шаблона с товаром
                что то все сделал как вы написали 
вот код плагина
                    $products_of_the_day = explode('||', $products_of_the_day->get('value')); от сюда вырезал explode, так как с ним показывал массив, после того как вырезал, у меня показывает сегодня в Пятницу цифру 2, хотя откуда эта цифра не понятно, по идее как вы говорите должно показывать ID товара, и еще, у меня всего 3 товаравот код плагина
<?php
// Плагин на событие OnLoadWebDocument
$products_of_the_day = $modx->getObject('modTemplateVarResource', [
	'contentid' => 11378, // id ресурса к которому привязан TV
	'tmplvarid' => 65 // id TV
]);
unset($_SESSION['product_of_the_day']);
if ($products_of_the_day) {
	
	$day = date('N');
	
	$products_of_the_day =  $products_of_the_day->get('value');
		
	if (!empty($products_of_the_day) && isset($products_of_the_day[$day - 1])) {
		$_SESSION['product_of_the_day'] = $products_of_the_day[$day - 1];
	}
	
}вот вызов через ТВ @EVAL return $modx->runSnippet('pdoResources',array('parents'=>11378,'limit'=>0,'tpl'=>'@INLINE [[+pagetitle]]==[[+id]]','outputSeparator'=>'||'));спасибо заранее            
                Все верно, в $products_of_the_day массив и должен быть, он содержит в себе ID товаров, где ключ массива это день, который получается из $day = date('N') (возвращает число от 1 до 7). Значение массива это ID товара.
Пример
Если у вас всего 3 товара, то можете указать условие для $day, что бы заменять его значение
                    Пример
$products_of_the_day = [22, 33, 44, 55, 66, 77, 88] // id товаров
// $day допустим вернул 5 - это пятница
// $products_of_the_day[$day - 1] вернет id товара 66Если у вас всего 3 товара, то можете указать условие для $day, что бы заменять его значение
// не проверял на работоспособность
$day = date('N');
$products_of_the_day = explode('||', $products_of_the_day->get('value'));
if (count($products_of_the_day) < 7) {
    $day = $day - count($products_of_the_day)
}            
                сработало, спасибо за помощь)            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.