При переходе по этим ссылкам (кроме первой) MODX будет выдавать ошибку 404, потому что страниц с этими адресами не существует. Так что, нам нужно написать плагин для их обработки:
<?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);
}
// Если ресурс не был найден - ничего не делаем, возможно запрос поймает другой плагин
}
}
вот tpl.mFilter2.outer_new
с учетом &pageLinkScheme=`[[+pageVarKey]]-[[+page]]` получается лажа с фильтрами и пагинацией
допустим я тут /test/?vendor=5 и пагинация предлагает переход сюда /test/page-2 и фильтр получается теряется.
и если результатов фильтра больше лимита на странице их никогда нельзя будет посмотреть… я не знаю как это решить пока. может кто поможет?
тогда пагинация работает а фильтры нет
работает корректно только так:
и пагинация не работает. убираю и работает.
ну и плагин на событие «OnPageNotFound» как в инструкции:
или у вас так же?
может просто [[+link]] вместо
В каталоге создавать 2 категории «мужчинам» и «женщинам» или же по дополнительному полю???
Если по доп полю то как выводить это в меню??