VjikSimpleNews и пагинация
Есть такой замечательный модуль - , который позволяет легко и удобно создавать, редактировать и размещать на сайте небольшие новости. Данный вариант информационных сообщений подходит для многих проектов, где не нужны отдельные страницы для каждой новостной информации. Кроме того, все сообщения хранятся в отдельной таблице базы данных, что позволяет не создавать отдельные ресурсы для каждой новости, экономя таким образом место (ведь многие говорят что при 3000-5000 ресурсов система начинает притормаживать) и структурируя информацию. Кроме перечисленных преимуществ в самом модуле и при выводе новостей предусмотрена пагинация, что так же очень удобно. Но вот тут и кроется самое интересное – пагинация то есть, но как заставить её работать, ни на сайте разработчика, ни в описании к модулю ничего не сказано. Путем проб и ошибок решение было найдено, и мы хотим им поделиться с вами.
Все на самом деле довольно просто – кроме того, что в вызове сниппета необходимо указать параметр paginate=`1`,после его вызова нужно добавить плейсхолдер – [ +vjikSimpleNews.pagination+ ]. Так же должны быть прописаны адреса шаблонов пагинации, так как по умолчанию их нет. Шаблоны прилагаются к модулю и лежат в папке "assets/modules/vjikSimpleNews/tpl”.
В целом вызов сниппета с пагинацией должен быть примерно такой:
[ +vjikSimpleNews.pagination+ ]
&tpl=`news` - название вашего шаблона с новостью, например:
<div class="date">[ +vjikSimpleNews.date+ ]</div>
[ +vjikSimpleNews.body+ ]
</div>
&dateFormat=`%d.%m.%Y` - формат даты, в нужном вам виде
&display=`20` - количество выводимых новостей
В том случае, если на сайте используется phx, обязательно плейсхолдер вызывать с помощью сниппета include, иначе он будет вырезаться - [ !include? &placeholder=`vjikSimpleNews.pagination`! ]
Кстати, чтобы не писать в каждом вызове сниппета шаблоны, можно их указать по умолчанию в коде:
(isset($tplPaginationItem)) ? $tplPaginationItem: $tplPaginationItem=' pagination_item.tpl ';
(isset($tplPaginationCurrent)) ? $tplPaginationCurrent: $tplPaginationItem=' pagination_cur.tpl ';
Вот и все, будем рады, если вам оказалась полезной наша статья. Не забудьте убрать лишние пробелы.
