Компонент bitrix:news.calendar.
На сайте имеется несколько разделов новостей. Нужно чтобы с каждого раздела календарь отправлял в архив новостей именно того раздела, где он находится. То есть если я в разделе "На Кубани", то выбрав дату в календаре меня отправит на новости такой то даты, которые с галочкой "на кубани".
Да, можно раскидать новости по разделам и выводить в календаре конкретный раздел, но изначально такого в планах не было и приходится искать другие пути.
В result_modifier прописан такой фильтр, что формирует отборку новостей по дате:
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arParams["FILTER_NAME"] = trim($arParams["FILTER_NAME"]);
$arParams["LIST_URL"] = trim($arParams["LIST_URL"]);
if(strlen($arParams["FILTER_NAME"]) > 0 && strlen($arParams["LIST_URL"]) > 0)
{
foreach($arResult["MONTH"] as $week => $arWeek)
{
foreach($arWeek as $day => $arDay)
{
if(count($arDay["events"])>0)
{
$timeFROM = mktime(0, 0, 0, $arResult["currentMonth"], $arDay["day"], $arResult["currentYear"]);
$timeTO = mktime(0, 0, 0, $arResult["currentMonth"], $arDay["day"]+1, $arResult["currentYear"]);
$strFROM = date($GLOBALS["DB"]->DateFormatToPHP(CLang::GetDateFormat("SHORT")), $timeFROM);
$strTO = date($GLOBALS["DB"]->DateFormatToPHP(CLang::GetDateFormat("SHORT")), $timeTO);
$LIST_URL = $arParams["LIST_URL"];
if(strpos($LIST_URL, "?") === false)
$LIST_URL .= "?";
if(strpos($LIST_URL, "&") !== false)
$LIST_URL .= "&";
$LIST_URL .= URLEncode($arParams["FILTER_NAME"]."[>=".$arParams["DATE_FIELD"]."]")."=".URLEncode($strFROM);
$LIST_URL .= "&".URLEncode($arParams["FILTER_NAME"]."[<".$arParams["DATE_FIELD"]."]")."=".URLEncode($strTO);
$arResult["MONTH"][$week][$day]["events"][0]["url"] = htmlspecialcharsbx($LIST_URL);
$arResult["MONTH"][$week][$day]["events"][0]["title"] = "";
}
}
}
}
?>
|
Формирование фильтра, как я думаю, происходит в
Код |
---|
$LIST_URL .= URLEncode($arParams["FILTER_NAME"]."[>=".$arParams["DATE_FIELD"]."]")."=".URLEncode($strFROM);
$LIST_URL .= "&".URLEncode($arParams["FILTER_NAME"]."[<".$arParams["DATE_FIELD"]."]")."=".URLEncode($strTO); |
как мне добавить к фильтру фильтрацию по свойству !PROPERTY_inkuban=false;
PROPERTY_inkuban это пользовательское свойство типа чекбокс по которому мне и нужно фильтровать
Кто нибудь сталкивался с подобным? Заранее спасибо!