подскажите по поводу пагинации. допустим имею две страницы: page 1, page 2.
но если в адресную строку ввести несуществующий адрес/?page=N то открывается пустая страница, а не 404?
кто нибудь решал этот вопрос?
На самом деле проблема надуманная, но порой проще сделать так, как хочет SEO-шник, чем убеждать его в своей правоте.
Эта проблема решается довольно просто средствами MODX'а:
Создадим сниппет sendError404:
<?php $_GET['page'] = 1; $modx->sendForward($modx->resource->id, 'HTTP/1.1 404 Not Found');
И на странице с вызовом getPage поместим результаты вывода в плейсхолдер и будем проверять номер страницы. Если номер страницы больше, чем всего страниц, будем запускать наш сниппет, который выдаст заголовок 404:
[[!getPage? &toPlaceholder=`resList` &element=`getResources` &tpl=`tpl.News.list.row` ]] [[[[!+page:gt=`[[+pageCount]]`:then=`sendError404`:else=`+resList`]]]] [[!+page.nav]]
Посмотреть в работе вы можете здесь: ilyaut.ru/news/?page=6 (страница выдает код ошибки 404).
щас еще потестю)
Спасибо за решение! просто и работает!
Я так понимаю проблема конкретно в сниппете сендЕррор404, если его убрать из кода, то отрабатывается все нормально
modx.pro/help/17037