пагинация кастомизация :)

Post Reply
wskeal
Posts: 280
Joined: Wed Oct 17, 2012 6:56 pm

пагинация кастомизация :)

Post by wskeal »

Может где было уже, подскажите.

В общем реврайты такие
rewrite ^/category/([^/]+)/best/([^/]+)/$ index.php?group_name=$1&order=ctr&page=$2&force_template=pagination last;
rewrite ^/category/([^/]+)/new/([^/]+)/$ index.php?group_name=$1&order=date&page=$2&force_template=pagination last;
rewrite ^/category/([^/]+)/duration/([^/]+)/$ index.php?group_name=$1&order=duration&page=$2&force_template=pagination last;


В пагинации темплейта пока так:

<pagination first_pages=3 adjustment=1 last_pages=3 range_separator="...">
<li><a href="/category/<!--CATEGORY_NAME-->/best/<!--PAGE_NUM-->/"><!--PAGE_NUM--></a></li>
</pagination>

Если вместо "best" который выделен жирным подставить <!--SORT_ORDER-->, то он будет подставлять date или ctr или duration, а не best, new, duration.

Я так понимаю нужен скрипт типа "если order=ctr, тогда <!--SORT_ORDER-->=best
если order=date, то <!--SORT_ORDER-->=new. Или эти параметры в конфиге может каком задаются?

Можно конечно под каждый вид сортировки свой темплейт создать и там прописывать, но это долго.
wskeal
Posts: 280
Joined: Wed Oct 17, 2012 6:56 pm

Re: пагинация кастомизация :)

Post by wskeal »

admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: пагинация кастомизация :)

Post by admin »

Можно прямо в темпелйте так и писать типа

if ($_GET['order'] == '...') $my_sort = '...';

и потом в навигации подставлять $my_sort
Don't forget to run script update
wskeal
Posts: 280
Joined: Wed Oct 17, 2012 6:56 pm

Re: пагинация кастомизация :)

Post by wskeal »

Сюда же спрошу

В темплейте вот так

<pagination first_pages=4 adjustment=1 last_pages=2 range_separator="<li>...</li>">
<li><a href="/best/<!--PAGE_NUM-->/" target="_self"><!--PAGE_NUM--></a></li>
</pagination>

есть проблема с вёрсткой, текущую "неактивную" кнопочку пагинации не кастомизировать нормально.

Для текущей страницы убирается тег <a></a>. Можно ли сделать так чтоб, если страница текущая, то в li прописывался class="current"
Чтоб результирующий вывод был например таким для первой страницы пагинации:

<ul>
<li class="current">1</li>
<li><a href="/best/2/">2</a></li>
<li><a href="/best/3/">3</a></li>
<li><a href="/best/4/">4</a></li>
<li>...</li>
<li><a href="/best/41/">41</a></li>
<li><a href="/best/42/">42</a></li>
</ul>

ну и соответственно для каждой так

нужно что-то вроде:
if page = currentpage
echo class="current"

Проблема конечно легко решаема, если вставить <span></span> внутри тэгов <a>, но как-то это не очень красиво :) не хочется вставлять тэги внутри <a></a>
wskeal
Posts: 280
Joined: Wed Oct 17, 2012 6:56 pm

Re: пагинация кастомизация :)

Post by wskeal »

Нашел то что нужно

active_link_style=act_page link_style=not_act_page

спасибо)
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: пагинация кастомизация :)

Post by admin »

Отлично )
Don't forget to run script update
fima228
Posts: 9
Joined: Thu Feb 23, 2017 10:07 am

Re: пагинация кастомизация :)

Post by fima228 »

Круто было бы еще по аналогии с active_link_style сделать active_link_class , чтобы можно было менять не стиль а класс для активной страницы :)
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: пагинация кастомизация :)

Post by admin »

А какая технически разница ? это просто название переменной , куда вы у себя ее в коде поставить это уже ваше дело
Don't forget to run script update
Post Reply