Пару слов зачем это нужно. getPage — не делает пагинацию с прострелами. pageNav — работает только со сниппетами. Использование. В папку core/components/modxsmarty/smarty_plugins/ бросаем файл function.pagination.php Создаем файл с оформлением пагинации catalog/list/pagination/index.tpl {pagination items=$items current=$current_page prev_next=true assign=pagination}
<div class="pagination">
{assign var=prev value=1}
{if $pagination.prev.id}
<a href="{$pagination.prev.href}">предыдущая</a>
{/if}
{foreach from=$pagination.pages item=page name=pagination}
{if (($page.id-$prev) > 1)}
<span>...</span>
{/if}
{if $page.type == 'current'}
<span class="current">{$page.id}</span>
{else}
<a href="{$page.href}">{$page.id}</a>
{/if}
{assign var=prev value=$page.id}
{/foreach}
{if $pagination.next.id}
<a href="{$pagination.next.href}">следующая</a>
{/if}
</div> В шаблоне где нужно вывести пагинацию пишем
(Вместо 93 подставить количество елементов в выборке) {assign var=items value=93} {assign var=current_page value=$smarty.request.page|default:1} {include file="catalog/list/pagination/index.tpl"} В результате получим такую картинку ?
Сергей, спасибо! То, что надо!
Сергей, спасибо за полезный плагин! Буквально вот такой только момент: github.com/Husband/paging/blob/master/function.pagination.php#L13 Мне кажется не стоит объявлять функцию setDefaultProperties. Во-первых, слишком общее название, и может эта функция будет в каком-нибудь другом плагине, и все, дефолтовые значения будут другие. Во-вторых, у тебя же там просто мерж, то есть там нет вариантов для нотисов и т.п. Там вполне можно обойтись без лишней функции.
Спасибо за замечание. Обновил репозиторий.
Не за что!
Да, хорошо! Одно плохо поисковики ругаются на одинаковое содержание полей title,description,keywords. И фиксируют их как дубли с понижением рейтинга. И как я понял способа бороься с этим не существует. Если кто не согласен конкретно — опровегните ):
А что мешает при генерации страницы учитывать $smarty.get.page? Например, первое, что приходит в голову — <h1>{$modx->resource->pagetitle}{if $smarty.get.page}, страница {$smarty.get.page}{/if}</h1> или можно и дальше пойти — менять ВСЕ, вплоть до контента. Просто создать MIGX-переменную, и нужные поля брать оттуда. Я так делал на одном сайте
Николай! скажите, куда будет попадать пользователь, после того как нажмет на, скажем, на 6-ю страницу пагинации Александр! В evo есть способ через применение системной переменной номера страницы пагинации. Я в revo. Вот эта резервная переменная она какое значение принимает для разных страниц пагинации??
скажите, куда будет попадать пользователь, после того как нажмет на, скажем, на 6-ю страницу пагинации На 6-ую страницу.
Вообще говря решается просто — надо ввести в поле этих тегов системную переменную, которая была бы оригинальной для каждой страницы пагинации. Я просто не могу даже найти список этих переменных для modx revo/ Черт возьми элементарная вешь но в инете нет.
Черт возьми элементарная вешь но в инете нет. Может потому что вы ищете то, чего в принципе не должно быть? Если бы нужно было бы, она давно нужна была бы уже. Я вам давно уже написал: 1. Спасает мета-тег canonical. Поставьте сниппет MetaX и не заморачивайтесь. Нафига вы голову греете себе и другим? Что за любовь к извращениям?
Вот эта резервная переменная она какое значение принимает для разных страниц пагинации?? Это переменная smarty, в которую кладутся get-параметры запроса. Если задаете вопрос в этом топике, то я предполагаю, используете smarty. Если все-таки нет (?!), то можно написать сниппет, который будет анализировать $_GET['page'] и соответственно что-то выводить.
Уважаемый Александр! Мне подходит Ваш совет о применении Smarty/ Я ознакомился, что это такое. Но мне непонятно Ваше конкретное его применение. Ведь боты ругаются на поля заголовка, описания и ключей. Надо только изменить эти теги. Может быть Вы подскажите как конкретно вставить туда smarty?
В принципе, я все уже выше написал: http://modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/268.html#comment-7205 Даже не представляю, что может быть более конкретным. А переписывать сюда руководство по smarty — извиняюсь, но времени катастрофически не хватает. тут http://www.smarty.net/docsv2/ru/ все более чем подробно описано.