Подскажите, как в плагин "Человекопонятная навигация" передать количество страниц пагинации (pageCount)?

Сделал пагинацию по инструкции "Человекопонятная навигация".

Для реализации некоторых проверок, необходимо передать в плагин переменную (плейсхолдер) pageCount с количеством страниц пагинации выводимых в ресурсе. Или другим способом получить количество страниц пагинации.

Но в плагине не получается это сделать.

Например, пробовал так:
$res = $modx->getPlaceholder('pageCount');
и другими способами, но ничего не получается.

Например в шаблоне можно вывести так:
[[+pageCount]]

или, если сниппет на Fenom, то в шаблоне выводится так:
{$_modx->getPlaceholder('pageCount')}

Но вот в плагине ничего не получается.

Подскажите, кто знает как передать/получить/определить количество страниц пагинации, выводимых в ресурсе.

Заранее, благодарю!
Дмитрий
19 января 2019, 02:29
modx.pro
699
0

Комментарии: 5

Василий Наумкин
20 января 2019, 07:38
0
Плагин срабатывает до вызова пагинации, поэтому никаких плейхолдеров в нём не получить.

Нужно думать в другую сторону, например, вызов своего сниппета для редиректа после pdoPage.
    Дмитрий
    20 января 2019, 07:53
    0
    Василий, а можно подробнее, а то не очень давно познакомился с MODX.
    То есть создать сниппет с редиректом и вызвать его после pdoPage, то есть пагинации?

    Соответственно в сниппете получить количество страниц с помощью:
    $modx->getPlaceholder('pageCount');
    так???
      Дмитрий
      20 января 2019, 08:18
      0
      Плейсхолдер — количество страниц пагинации через свой сниппет получил.
      а как передать переменные из плагина в этот свой сниппет?
        Дмитрий
        20 января 2019, 08:51
        0
        Василий, все, разобрался и все получилось. Огромное спасибо за подсказку.
      Дмитрий
      20 января 2019, 09:49
      0
      Василий, подскажи еще следующее.

      В стандартной пагинации, если
      '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 предложил решение, но думаю есть другое, более гибкое решение.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5