Бортовой журнал Ктулху
При сильном испуге у женщин атрофируется небольшая часть мозга, отвечающая за все

Как в Битриксе вывести товары не старше определенной даты

Как лучше реализовать "Новинки" в Битриксе? Есть несколько выриантов, например сделать через свойство или высчитывать. Я расскажу как высчитывать.

 

Суть в том, чтобы получить текущую дату, привести ее к Unix Time и вычесть из нее например месяц, три месяца или год.

$current = date('U');
 $raznica = $current-15552000; // 6 mon ago
// $raznica = $current-432000; // 2 days ago
 // $raznica = $current-2747520000; // 5 yrs ago
// вытащить строку, сделать ее str to date, сравнивать
 $arSelect = array("ID", "NAME", "IBLOCK_ID", "PROPERTY_*");
 $arFilter = Array("IBLOCK_ID"=>27, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", ">PROPERTY___24" => date("Y-m-d", $raznica));
 $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>20), $arSelect);
 while($ob = $res->GetNextElement())
 {
 $arFields = $ob->GetFields();
 $arProps = $ob->GetProperties();
 $date_create_unix = strtotime($arProps['__24']['VALUE']);
 if($date_create_unix >= $raznica)
 {
 $newProducts[] = Array('id' => $arFields['ID'], 'name' => $arFields['NAME'], 'date' => $arProps['__24']['VALUE']);
 }
 }
echo "<pre>";
 print_r($newProducts);
 echo "</pre>";

Рейтинг@Mail.ru
Яндекс.Метрика
Hosting Ukraine
Счетчик PR-CY.Rank
Счетчик PR-CY.Rank