BU Search Pagination
Расширенное разбиение на страницы для модуля Search.
Используйте этот плагин в своем шаблоне, если хотите иметь расширенный контроль над настройкой разбиения на страницы, на страницах результатов поиска.
Пример использования
{exp:bu_search_pagination}
{/exp:bu_search_pagination}
Переменные:
{current_page}
{total_pages}
{prev_page_path}
{next_page_path}
{first_page_path}
{last_page_path}
{page_results_first}
{page_results_last}
Названия переменных очевидны. Последние два обеспечивают ссылку на результаты, доступные на текущей странице, например, на 2-ой странице, где у вас есть 5 результатов на страницу, page_results_first был бы 6, page_results_last будет 10, таким образом, Вы сможете вывести на экран ‘результаты 6 - 10’.
Парная переменная, pagination_pages, выводит дополнительные данные для всех страниц результата поиска.
{pagination_pages}
{/pagination_pages}
pagination_pages имеет 2 параметра, format и limit.
Переменные для pagination_pages:
{count}
{page_number}
{page_path}
{count} - какая позиция в цикле pagination_pages. page_number показывает номер страницы для текущей обработанной страницы результатов. page_path показывает путь ссылки для текущей обработанной страницы результатов.
Параметр format для pagination_pages позволяет изменять разбиение на страницы так, чтобы это было разделено на блоки страниц. По умолчанию каждый блок содержит 5 ссылок на странице результатов.
Например, если бы у вас было 19 страниц результата поиска, и ‘limit’ 4, то страницы 1-4 были бы первым блоком, 5-8 вторым и так далее. У заключительного блока было бы 3 страницы.
Если Вы определили параметр format как ‘block’ тогда, следующие переменные также становятся доступными в пределах pagination_pages:
{total_block_pages}
{prev_block_path}
{prev_block_pages}
{next_block_path}
{next_block_pages}
Значения, доступные для параметра type:
{exp:bu_search_pagination type='current_page'}
{exp:bu_search_pagination type='total_pages'}
{exp:bu_search_pagination type='prev_page_path'}
{exp:bu_search_pagination type='next_page_path'}
{exp:bu_search_pagination type='first_page_path'}
{exp:bu_search_pagination type='last_page_path'}
{exp:bu_search_pagination type='page_results_first'}
{exp:bu_search_pagination type='page_results_last'}
Пример 1.
{exp:bu_search_pagination}
{if prev_page_path}
<a href="{path={prev_page_path}}">Prev</a>
{/if}
<p>Page {current_page} of {total_pages} </p>
{if next_page_path}
<a href="{path={next_page_path}}">Next</a>
{/if}
{/exp:bu_search_pagination}
Пример 2.
{exp:bu_search_pagination}
Results {page_results_first} - {page_results_last}
{/exp:bu_search_pagination}
Пример 3.
{exp:bu_search_pagination}
{pagination_pages format='block' limit='10'}
{if prev_block_path!='' AND count==1}
<a href='{path={prev_block_path}}'>{prev_block_pages}</a>
{/if}
{if page_number==current_page}
{page_number}
{if:else}
<a href='{path={page_path}}'>{page_number}</a>
{/if}
{if next_block_path!='' AND count==total_block_pages}
<a href='{path={next_block_path}}'>{next_block_pages}</a>
{/if}
{/pagination_pages}
{/exp:bu_search_pagination}
Пример 4.
{if "{exp:bu_search_pagination type='prev_page_path'}" !=''}
<a href="{path={exp:bu_search_pagination type='prev_page_path'}}">
Prev</a>
{/if}
<p>
Page {exp:bu_search_pagination type='current_page'}
of {exp:bu_search_pagination type='total_pages'}
</p>
{if "{exp:bu_search_pagination type='next_page_path'}" !=''}
<a href="{path={exp:bu_search_pagination type='next_page_path'}}">
Next</a>
{/if}
Скачать
Версия EE | Файл | Изменения |
---|---|---|
Скачать 2.0 |
Ссылки
http://www.bridgingunit.com/labs/expressionengine/bu-search-pagination/Комментарии
Ещё никто не оставлял комментариев, Вы будете первым.