Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Список разделов инфоблока с постраничной навигацией

00 голосов
6
Как это можно реализовать?
спросил 16 Сен, 13 от Ye6aK (220 баллов)

6 Ответы

00 голосов
Читать про функцию CIBlockSection::GetList а потом читаем про навигацию CDBResult::NavStart
ответил 20 Сен, 13 от Grimmi (2,560 баллов)
00 голосов
ок, сделал

Код
<? if(CModule::IncludeModule("iblock")) {
   $IBLOCK_ID = 12; // инфоблок галереи
   $arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID, 'GLOBAL_ACTIVE'=>'Y');
   $items = CIBlockSection::GetList(Array("SORT"=>"DESC"), $arFilter, true);
   $items->NavStart(1, false); // количество альбомов на странице
   echo '<div class="item_list">';
     while($ar_result = $items->GetNext())
        {
           echo '   <div class="item">
                 <h3><a href="album'.$ar_result['ID'].'/">'.$ar_result['NAME'].'</a></h3>
                 <small>Фотографий: '.$ar_result['ELEMENT_CNT'].'</small><br>'
                 .$ar_result['DESCRIPTION'].
                 '<div class="clear"></div>
                 </div>';
        }
     echo $items->NavPrint("Альбомы");
     echo '</div>';
   }
?>


Теперь вопрос:
есть дефолтный шаблон постраничной навигации (/bitrix/templates/.default/components/bitrix/system.pagenavigation/.default/). Почему он не применяется в данном случае? (цепляется стандартный из /bitrix/components/)
ответил 18 Дек, 13 от Ye6aK (220 баллов)
00 голосов
Цитата
CDBResult::NavPrint(
string title,
bool show_always=false,
string text_css_class="text",
string template_path=false
)

template_path - Путь к шаблону показа навигационных ссылок. Если "false", то используется шаблон по умолчанию.
ответил 03 Апр, 14 от Grimmi (2,560 баллов)
00 голосов
Цитата
Николай Санников пишет:
Цитата
CDBResult::NavPrint(

string title,

bool show_always=false,

string text_css_class="text",

string template_path=false

)


template_path - Путь к шаблону показа навигационных ссылок. Если "false", то используется шаблон по умолчанию.


Да, так пробовал. С адресом, например, /tpl/pagenav.php работает, а /bitrix/templates/.default/components/bitrix/system.pagenavigation/.default/template.php - нет. А делать несколько шаблонов не желательно.
ответил 27 Июль, 14 от Ye6aK (220 баллов)
00 голосов
Цитата
Станислав Васильев пишет:
С адресом, например, /tpl/pagenav.php работает, а /bitrix/templates/.default/components/bitrix/system.pagenavigation/.default/template.php - нет. А делать несколько шаблонов не желательно.

а почему ваша навигация лежит в /bitrix/templates/.default/... а не в вашем шаблоне?
это первое.
второе - посоветовал бы скопировать в /bitrix/components/ стандартный компонент навигации (хоть .default хоть orange), в другую папку . но в том же разделе. И применять его.
При обновлении так как имя папки другое обновится или уничтожится не должно.
ответил 29 Ноя, 14 от Grimmi (2,560 баллов)
00 голосов
Цитата
Николай Санников пишет:
а почему ваша навигация лежит в /bitrix/templates/ .default /... а не в вашем шаблоне?


так удобнее при нескольких шаблонах страниц (например, для главной и внутренней) - все шаблоны компонентов лежат в одном месте.
ответил 24 Март, 15 от Ye6aK (220 баллов)

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

0 голосов
2 ответов
спросил 16 Фев, 14 от Kania (5,180 баллов)
0 голосов
9 ответов
спросил 10 Май, 13 от 300 (220 баллов)
0 голосов
3 ответов
0 голосов
2 ответов
спросил 22 Фев, 14 от Balzamon (280 баллов)
0 голосов
3 ответов
спросил 13 Дек, 13 от AmoH (180 баллов)