Постраничная навигация в doit-cms
Постраничная навигация в doit-cms делается очень просто. Для начала нам необходимо в контроллере (файл с расширкнием .func.php) нужного скаффолдинга добавить вот эти 2 строчки:
news.func.php
d()->news_list->paginate(10);
d()->paginator = d()->Paginator->generate(d()->news_list);
d()->news_list - массив с перечьнем элементов каталога.
paginate(10) - количество элементов каталога, выводимых на одну страницу.
d()->paginator - переменная, в которой хранится постраничная навигация (ссылки с адресами страниц "1 2 3 4 и т.п.").
Далее, в html шаблоне вывода нужно добавить вот эту строчку:
_index.html
<div class="paginator">{paginator}</div>
В этом диве будут выводится ссылки на наши подстраницы. Формат вывода этих ссылок будет примерно таким:
<div class="paginator">
<a href="?page=1" class="active">1</a>
<a href="?page=2">2</a>
<a href="?page=3">3</a>
<a href="?page=4">4</a>
</div>
И напоследок, немного облагородим нашу постраничную навигацию:
style.css
.paginator{
width:100%;
margin-top:25px;
margin-bottom:5px;
text-align:center;
}
.paginator a{
padding:1px 5px;
margin:0 2px;
color:#325b6c;
border:1px solid #325b6c;
display:inline-block;
}
.paginator a:hover{
background:#325b6c;
color:white;
}
.paginator a.active{
background:#325b6c;
color:white;
}