@VladimirPortev

Как сделать навигацию в bitrix news detail с сортировкой по дате активности?

Всем привет.
Мой код. Я вывожу внутреннюю навигацию в bitrix news detail.
Модифаер:
<?
$res = CIBlockElement::GetList(Array("ID"=>"ASC", "ACTIVE"=>"Y"), Array("IBLOCK_CODE"=>"news", "ACTIVE"=>"Y"), false);
	while ($RR = $res->GetNext()) {
		if ($RR["ID"] < $arResult["ID"]) {
			$prev = $RR["DETAIL_PAGE_URL"];			
		}
		if ($RR["ID"] > $arResult["ID"]) {
			$next = $RR["DETAIL_PAGE_URL"];	
			break;
		}
	}
		
	$arResult["PREV_LINK"] = $prev;
	$arResult["NEXT_LINK"] = $next;
?>


template
<table class="news_nav" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="prev_news"><?if(!empty($arResult["PREV_LINK"])):?><a href="<?=$arResult["PREV_LINK"]?>">Предыдущая новость</a><?endif?></td>
		<td class="all_news"><a href="/news/">Все новости</a></td>
		<td class="next_news"><?if(!empty($arResult["NEXT_LINK"])):?><a href="<?=$arResult["NEXT_LINK"]?>">Следующая новость</a><?endif?></td>
	</tr>
</table>

Получается так что он мне внутреннюю навигацию делает по ID. То есть основные новости сортируются по дате активности, а навигация по id и получается неправильно, как мне сделать чтобы в detail было что-то вроде если дата активности текущей новости < даты активности следующей новости, то выводим ссылку на следующую новость, в таком духе, в общем.
  • Вопрос задан
  • 636 просмотров
Пригласить эксперта
Ответы на вопрос 2
no_one_safe
@no_one_safe
У вас в сортировке стоит "ACTIVE"=>"Y"
Почитайте вот это - https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
Поле дата активности это "DATE_ACTIVE_FROM"
Ответ написан
AlexeyGfi
@AlexeyGfi
YouTube >>> Битриксоид из Колхоза
$res = CIBlockElement::GetList(
	Array(
	    'DATE_ACTIVE_FROM' => 'ASC'
	),
	Array("IBLOCK_CODE"=>"news", "ACTIVE"=>"Y"),
	false,
	false,
	[   указывайте, какие поля читать.
		Не тяните целую колбасу, когда вам нужно всего пару полей
	]
);


И ещё.
Здесь есть такое:
arNavStartParams
"nElementID" - ID элемента который будет выбран вместе со своими соседями...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы