[pdoTools] 2.2.1 Улучшения ajax пагинации
Представляю вам новую версию pdoTools с небольшими улучшениями работы pdoPage в режиме ajax.
Первое изменение заключается в том, что все запросы теперь отправляются на отдельный файл-коннектор, который лежит в /assets/components/pdotools/. Во-первых, это ускоряет работу, потому что мы запускаем MODX в API_MODE и не выполняем все сниппеты на текущей странице, перед pdoPage.
А во-вторых, теперь режим ajax у pdoPage можно использовать при включенном Fenom в теле страницы. Кому интересно, вот подробности.
Второе изменение косметическое. Был добавлен параметр &ajaxHistory, который позволяет отключить сохранение номера страницы в url.
Зачем это нужно? Очень просто — для режимов scroll и button. Очень многие пользователи просили сделать так, чтобы можно было просто загружать результаты и сбрасывать всё при перезагрузке страницы.
По умолчанию &ajaxHistory пуст и ориентируется на параметр &ajaxMode: для default он включен, а для прокрутки и кнопки — отключен. Но вы можете и сами указать ему 0 или 1 при любом режиме работы.
Если &ajaxHistory отключен, то страницы в url не сохраняются, а значит и блок с постраничной навигацией не нужен — так что, он скрывается автоматически. Обратите внимание, что он по-прежнему необходим для правильной работы, но на странице его не видно.
В общем, в новой версии прокрутка и загрузка кнопкой работают более привычно для большинства пользователей.
Совсем мелкое изменение — добавление блоку-обёртке (по умолчанию это у нас #pdopage) класса loading при загрузке, чтобы вывести какой-нибудь индикатор. Например, вот так:
Оценить pdoPage в &ajaxMode=`scroll` можно прямо здесь, в разделе последних комментариев. Если вдруг что-то не работает — почистите кэш своего браузера.
Добавил еще один параметр в pdoPage для указания схемы генерации ссылки на страницу &pageLinkScheme. Теперь легко можно делать человекопонятную навигацию, если захочется.
Документация здесь.
Первое изменение заключается в том, что все запросы теперь отправляются на отдельный файл-коннектор, который лежит в /assets/components/pdotools/. Во-первых, это ускоряет работу, потому что мы запускаем MODX в API_MODE и не выполняем все сниппеты на текущей странице, перед pdoPage.
А во-вторых, теперь режим ajax у pdoPage можно использовать при включенном Fenom в теле страницы. Кому интересно, вот подробности.
Второе изменение косметическое. Был добавлен параметр &ajaxHistory, который позволяет отключить сохранение номера страницы в url.
Зачем это нужно? Очень просто — для режимов scroll и button. Очень многие пользователи просили сделать так, чтобы можно было просто загружать результаты и сбрасывать всё при перезагрузке страницы.
По умолчанию &ajaxHistory пуст и ориентируется на параметр &ajaxMode: для default он включен, а для прокрутки и кнопки — отключен. Но вы можете и сами указать ему 0 или 1 при любом режиме работы.
Если &ajaxHistory отключен, то страницы в url не сохраняются, а значит и блок с постраничной навигацией не нужен — так что, он скрывается автоматически. Обратите внимание, что он по-прежнему необходим для правильной работы, но на странице его не видно.
В общем, в новой версии прокрутка и загрузка кнопкой работают более привычно для большинства пользователей.
Совсем мелкое изменение — добавление блоку-обёртке (по умолчанию это у нас #pdopage) класса loading при загрузке, чтобы вывести какой-нибудь индикатор. Например, вот так:
<div id="pdopage">
<div class="rows">
[[!pdoPage?
&parents=`0`
&ajaxMode=`scroll`
]]
</div>
<div class="spinner"></div>
[[!+page.nav]]
</div>
<style>
#pdopage .spinner {
display: none;
width: 32px;
height: 32px;
background: url('/inc/img/loading.gif') no-repeat;
background-size: 32px;
}
#pdopage.loading .spinner {
display: block;
margin: 20px auto 10px auto;
}
</style>Это можно было и раньше сделать через pdoPage.callbacks, но я решил что лишний класс не помешает.Оценить pdoPage в &ajaxMode=`scroll` можно прямо здесь, в разделе последних комментариев. Если вдруг что-то не работает — почистите кэш своего браузера.
Версия 2.2.2
Добавил еще один параметр в pdoPage для указания схемы генерации ссылки на страницу &pageLinkScheme. Теперь легко можно делать человекопонятную навигацию, если захочется.
Документация здесь.
Комментарии: 19
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Не отрабатывает modx фильтры
небо1.рф/shop/men/sweatshirt/
Обновил, только что, если кликнуть показать ещё
yadi.sk/i/3vo6S3uXmopsi
почистил кэш на всякий и всё равно тоже самое.
откатываюсь до версии ранее.
Но ошибка в том, что
[[!+old_price:gt=`0`:then=`распродажа`]]
такую конструкцию не отрабатывает [pdoTools] 2.2.2
не отрабатывает плейсхолдеры вида [[!+]], решил поменять на [[+]] всё заработало
[[!+old_price:gt=`0`:then=`распродажа`]] было
[[+old_price:gt=`0`:then=`распродажа`]] стало
Не знаю баг, не баг, ну в общем, как то так)
Некэшированные условия не обрабатываются при запуске сниппета, а оставляются «на потом» для разбора парсером. При работе же через ajax до него дело вообще не доходит, ибо pdoPage делает exit() когда всё закончил.
Странно, что это работало раньше. В любом случае, в магазине уже можно загрузить версию 2.2.3, которая дополнительно обрабатывает [[!+]], хоть их и не стоит использовать без особой необходимости.
Вызов картинки в чанке [[!pthumb? &input=`[[+tv.img]]` &options=`w=250&h=320&f=png`]]
Вывод до апдейта assets/image-cache/image.e414e724.png
После апдейта image.png
Теперь думаю о канонических url для page :D
Перешел на fenom.
щас response, естесственно, всю страницу отдает
какие-то аналогичные способы есть для подобных штук в новых реалиях?
P. S. Извиняюсь за дублирование, поздно сообразил, что лучше сразу сюда)
Вопрос, как можно указать ссылки на первую страницу такими: ?