Как сделать ЧПУ и добавление стр.2 в мета при помощи PdoPage и PdoTitle?

1. Здравствуйте. Для раздела блог, сделал и оформил вывод ресурсов через PdoPage, столкнулся с проблемой создания ЧПУ в адекватном формате (/cat/page-2) без стандартного (/cat?page=2).
Нашел информацию в документации к плагину с примером написанного плагина для формирования такого адреса. (Без этого плагина страницы пагинации 2+ выдают 404 ошибку) (в документации так и написано).
Добавил опцию &pageLinkScheme=`/[[+pageVarKey]]-[[+page]]` и создал плагин без изменений из документации.
<?php
// Реагируем только на событие OnPageNotFound
if ($modx->event->name == 'OnPageNotFound') {
// Определяем ключ запроса из настроек
$req = $modx->getOption('request_param_alias');
// Ловим нужный ключ страницы
$pageVarKey = 'page';
// Если в запросе повторяется наш шаблон «pageVarKey-page», то работаем дальше
if (preg_match("#.*?({$pageVarKey}-(\d+))#", $_REQUEST[$req], $matches)) {
// Отрезаем ЧПУ строку и получаем точный адрес текущей страницы
$uri = str_replace($matches[1], '', $matches[0]);

// Ищем страницу по этому адресу
$id = 0;
// Сначала как есть, со слешем на конце
if (!$id = $modx->findResource($uri)) {
// Если не находим — то пробуем отрезать слэш и ищем повторно
$id = $modx->findResource(rtrim($uri, '/'));
}

// Если ресурс найден
if ($id) {
// Добавляем номер страницы в глобальные массивы, чтобы pdoPage их там увидел
$_GET[$pageVarKey] = $_REQUEST[$pageVarKey] = $matches[2];
// И загружаем эту страницу
$modx->sendForward($id);
}
// Если ресурс не был найден — ничего не делаем, возможно запрос поймает другой плагин
}
}
После этого страницы пагинации стали работать как нужно, но появилась новая проблема. Заходя на первую страницу раздела в блоке пагинации урлы формируются как полагается домен/категория/страница. Перейдя на вторую страницу на ней уже урлы в этом блоке начинают дублировать вложенность категории и получается домен/категория/категория\страница. Не могу найти в чем тут проблема, информации нет и сделал все по документации ничего не меняя.

2. Как на страницы 2+ добавлять в Title и Description ( — стр.2 или — страница 2) и каноникал саму на себя (страицы пагинации нужны в индексе), если это страница 2 то урл каноникал должен быть на страницу 2 а не страницу раздела?
Alex
16 апреля 2021, 14:21
modx.pro
191
0

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0