Подскажите, как в плагин "Человекопонятная навигация" передать количество страниц пагинации (pageCount)?
Сделал пагинацию по инструкции "Человекопонятная навигация".
Для реализации некоторых проверок, необходимо передать в плагин переменную (плейсхолдер) pageCount с количеством страниц пагинации выводимых в ресурсе. Или другим способом получить количество страниц пагинации.
Но в плагине не получается это сделать.
Например, пробовал так:
Например в шаблоне можно вывести так:
или, если сниппет на Fenom, то в шаблоне выводится так:
Но вот в плагине ничего не получается.
Подскажите, кто знает как передать/получить/определить количество страниц пагинации, выводимых в ресурсе.
Заранее, благодарю!
Для реализации некоторых проверок, необходимо передать в плагин переменную (плейсхолдер) pageCount с количеством страниц пагинации выводимых в ресурсе. Или другим способом получить количество страниц пагинации.
Но в плагине не получается это сделать.
Например, пробовал так:
$res = $modx->getPlaceholder('pageCount');
и другими способами, но ничего не получается.Например в шаблоне можно вывести так:
[[+pageCount]]
или, если сниппет на Fenom, то в шаблоне выводится так:
{$_modx->getPlaceholder('pageCount')}
Но вот в плагине ничего не получается.
Подскажите, кто знает как передать/получить/определить количество страниц пагинации, выводимых в ресурсе.
Заранее, благодарю!
Комментарии: 5
Плагин срабатывает до вызова пагинации, поэтому никаких плейхолдеров в нём не получить.
Нужно думать в другую сторону, например, вызов своего сниппета для редиректа после pdoPage.
Нужно думать в другую сторону, например, вызов своего сниппета для редиректа после pdoPage.
Василий, а можно подробнее, а то не очень давно познакомился с MODX.
То есть создать сниппет с редиректом и вызвать его после pdoPage, то есть пагинации?
Соответственно в сниппете получить количество страниц с помощью:
То есть создать сниппет с редиректом и вызвать его после pdoPage, то есть пагинации?
Соответственно в сниппете получить количество страниц с помощью:
$modx->getPlaceholder('pageCount');
так???
Плейсхолдер — количество страниц пагинации через свой сниппет получил.
а как передать переменные из плагина в этот свой сниппет?
а как передать переменные из плагина в этот свой сниппет?
Василий, все, разобрался и все получилось. Огромное спасибо за подсказку.
Василий, подскажи еще следующее.
В стандартной пагинации, если
А после переделки на «человекопонятную навигацию» при нахождении на странице пагинации, например, на 3 странице, выглядит следующим образом:
Подскажи, возможно ли в плагине что-то изменить или добавить (и что именно), чтобы rel=«canonical» при нахождении на любой странице пагинации вел на каноническую страницу пагинации, вот так:
Ранее задавал этот вопрос вот здесь, но не было времени разбираться и пока отложил на потом. Сейчас пришло время добить эту тему до конца.
Там Rasul предложил решение, но думаю есть другое, более гибкое решение.
В стандартной пагинации, если
'setMeta' => 1
то rel=«canonical», если находишся на любой странице пагинации выглядит следующим образом:<link rel="canonical" href="https://mysite.ru/category/"/>
то есть ведет на каноническую страницу.А после переделки на «человекопонятную навигацию» при нахождении на странице пагинации, например, на 3 странице, выглядит следующим образом:
<link rel="canonical" href="https://mysite.ru/category/page/3/"/>
то есть ведет на текущую страницу.Подскажи, возможно ли в плагине что-то изменить или добавить (и что именно), чтобы rel=«canonical» при нахождении на любой странице пагинации вел на каноническую страницу пагинации, вот так:
<link rel="canonical" href="https://mysite.ru/category/"/>
Или это в плагине не сделать, то тогда каким образом это реализовать?Ранее задавал этот вопрос вот здесь, но не было времени разбираться и пока отложил на потом. Сейчас пришло время добить эту тему до конца.
Там Rasul предложил решение, но думаю есть другое, более гибкое решение.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.