Добрый день! Необходимо было сделать архив новостей по годам. Создал скрытое свойство year, заполняю его в init.php. Делаю выгрузку свойства "year" из новостного инфоблока. В новостях всего 3 элемента. Один за 2010, другой за 2011, третий за 2012. Выводит норм, три года. Потом тому что за 2010 даю 2009 год. Выдает следующее. 2012, 2011, 2010, 2009. Элементов 3, а выводит 4 года! Меняю еще раз год на 2008 у любого из элементов - 2012, 2011, 2010, 2009, 2008. Подскажиет, пожалуйста, где косяк..
PS: Потом решил еще посмотреть какие айдишники элементов выводятся. Так вот в $dbEl выводятся тоже дублированные айдишники тех элементов, что менялись...
Код |
---|
<?
if(CModule::IncludeModule('iblock'))
{
$arYears = array();
$arId = array();
$arOrder = array();
$arFilter = array(
'IBLOCK_ID' => '1'
);
$arGroupBy = false;
$arNavParams = false;
$arSelect = array(
'ID',
'PROPERTY_year'
);
$dbEl = CIBlockElement::GetList($arOrder, $arFilter,$arGroupBy, $arNavParams, $arSelect);
while($obEl = $dbEl->GetNext())
{
if($obEl['PROPERTY_YEAR_VALUE']&&!array_search($obEl['PROPERTY_YEAR_VALUE'],$arYears)){
$arYears[] = $obEl['PROPERTY_YEAR_VALUE'];
$arId[] = $obEl['ID'];
}
}
print_r($arId);
arsort($arYears);
foreach($arYears as $Year){
echo "<a href='/test/news-and-actions/news/?arrFilter_pf[year]=".$Year."&set_filter=Фильтр&set_filter=Y'>".$Year." </a>";
}
unset($arYears);
unset($dbEl);
unset($arId);
}
?> |