Битрикс — алфавитный перечень товаров
04.06.2018 09:08
Возникла задача сделать алфавитный указатель товаров, берём комплексный компонент каталога, рукожопим section.php:
$IBLOCK_ID = 12;//ну, по хорошему надо брать из массива arParams $c = 0; CModule::IncludeModule("iblock"); CModule::IncludeModule("catalog"); //CModule::IncludeModule("sale"); //простой getlist. Для красоты можно навернуть кэширование $arSelect = array( "ID", "NAME", "IBLOCK_ID", "IBLOCK_SECTION_ID",//added "*",//added "DETAIL_TEXT", "ACTIVE", "ACTIVE_DATE", "SORT", "CATALOG_QUANTITY", "DETAIL_PICTURE", "PROPERTY_CML2_ARTICLE", ); $arFilter = array( "IBLOCK_ID" => $IBLOCK_ID, "IBLOCK_ACTIVE" => "Y", "SECTION_ID" => 1204, //"ACTIVE_DATE" => "Y", //"ACTIVE" => "Y", ); $r = CIBlockElement::GetList( array(), $arFilter, false, false, $arSelect ); while ( $arCurrentItem = $r->GetNext() ) { $firstLetter = mb_substr($arCurrentItem["NAME"], 0, 1, 'utf-8'); $arr[] = $firstLetter; $c++; } //оставим в массиве только уникальные значения $arr = array_unique($arr); //отсортируем массив по алфавиту natsort($arr); foreach($arr as $v){ if ($v == $_REQUEST['first']) { $addClass = ' class="active nav-current-page"'; } else $addClass = ''; $letters .= '
Всё, выводим получившийся список и добавляем в arrFilter условия (до подключения catalog.section).
if(!empty($letters)){? >< ?}? >

Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование).
Есть вопросы по статье? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670) или перепиской в ВК.
1000 р./час.
1000 р./час.

перейти в Блог | Блог (стр. 3)
Ударим лайками по бездорожью, разгильдяйству и бюрократизму!
Ключевые слова (тэги): 1С-Битрикс 54 PHP 67 web-программирование 91
Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю-: