Я сделал. Вопрос снят.
В components.php изменил код.
Код |
---|
$arFilter = Array(
"ACTIVE" => "Y",
">=".$arParams["DATE_FIELD"] => date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT")), mktime(0,0,0,$currentMonth,1,$currentYear)),
"<".$arParams["DATE_FIELD"] => date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT")), mktime(0,0,0,$currentMonth+1,1,$currentYear)),
"IBLOCK_ID" => $arParams["IBLOCK_ID"]
);
$arSelectedFields = Array("ACTIVE", "DATE_ACTIVE_FROM", "DATE_ACTIVE_TO", "ID", "IBLOCK_ID", "SITE_ID", "DETAIL_PAGE_URL", "NAME", "LANG_DIR", "SORT", "IBLOCK_TYPE", "PREVIEW_TEXT", "PREVIEW_TEXT_TYPE");
$dbItems = CIBlockElement::GetList(array($arParams["DATE_FIELD"]=>"ASC", "ID"=>"ASC"), $arFilter, false, false, $arSelectedFields);
$dbItems->SetUrlTemplates($arParams["DETAIL_URL"]);
while($arItem = $dbItems->GetNext())
{
$day = 86400;
$format = 'd.m.Y';
$startTime = strtotime($arItem["DATE_ACTIVE_FROM"]);
$endTime = strtotime($arItem["DATE_ACTIVE_TO"]);
//$numDays = round(($endTime - $startTime) / $day) + 1;
$numDays = round(($endTime - $startTime) / $day); // без +1
$days = array();
for ($i = 1; $i < $numDays; $i++) {
$days = date($format, ($startTime + ($i * $day)));
$arDays[$days][] = $arItem;
}
}
|