Проблема обработки события pdoPage
Здравствуйте уважаемые!
Два дня ломаю голову с проблемой редиректа в pdoPage.
Скроллит страницу вверх на первую вследствие отсутствия результатов или некорректном параметре &page.
Мне нужно чтобы после пагинации позиционирование страницы сайта осталось на прежнем месте в секции (см. нижеуказанный код).
Заранее благодарю за помощь!
—
Два дня ломаю голову с проблемой редиректа в pdoPage.
Скроллит страницу вверх на первую вследствие отсутствия результатов или некорректном параметре &page.
Мне нужно чтобы после пагинации позиционирование страницы сайта осталось на прежнем месте в секции (см. нижеуказанный код).
Заранее благодарю за помощь!
—
<section>
<div class="container">
<div class="row">
<div id="pdopage" class="center wow fadeInDown animated">
<div class="rows">
[[!pdoPage?
&tpl=`@INLINE <p>[[+idx]] <a href="/[[+uri]]">[[+pagetitle]]</a></p>`
&element=`getResources`
&parents=`6`
&tpl=`miniBlog`
&limit=`6`
&includeTVs=`images`
&ajaxMode=`default`
]]
</div>
</div>
</div><!--/.row-->
</div><!--/.container-->
<div class="container">
<div class="row">
[[!+page.nav]]
<script type="text/javascript">
(function($){
$(document).on('pdopage_load', function(e, config, response)
{console.log(e, config, response);});
});
</script>
</div><!--/.row-->
</div><!--/.container-->
</section>
Комментарии: 29
$(document).on('pdopage_load', function(e, config, response) {
console.log(e, config, response);
});
Пробуйте так — работает.Чтобы убрать скролл — залезьте в pdopage.js, найдите код
if (config['mode'] == 'default') {
$('html, body').animate({scrollTop: wrapper.position().top - 50 || 0}, 0);
}
и закомментируйте
Добавил как Вы писали:
$(document).on('pdopage_load', function(e, config, response) {
console.log(e, config, response);
});
Консоль ругается теперь так: (index):372 Uncaught ReferenceError: $ is not defined
— Убрать скролл как Вы указали попробую и отпишу, но хотелось бы обработать событие без редактирования исходного кода pdopage.js.
$(document).on('pdopage_load', function(e, config, response) {
console.log(e, config, response);
});
Консоль ругается теперь так: (index):372 Uncaught ReferenceError: $ is not defined
— Убрать скролл как Вы указали попробую и отпишу, но хотелось бы обработать событие без редактирования исходного кода pdopage.js.
Uncaught ReferenceError: $ is not definedjQuery подключен?
Убрать скролл как Вы указали попробую и отпишу, но хотелось бы обработать событие без редактирования исходного кода pdopage.js.как вы обработаете без редактирования?)))
Если в исходном коде явно указано что если
ajaxMode == default
, то скроллить страницу вверх?!))))Вообще понятно зачем сделан скролл, ведь без ajax новая страница все равно бы загрузилась вверху. Другое дело что если вы используете на страницах в pdoPage лимит в 3 элемента или 4, тогда скролл начинает раздражать)
)) ну так то так.
Я закомментировал указанные Вами строки через программу Sublime Text в pdopage.js по адресу:
\assets\components\pdotools\js\pdopage.js
Но скроллит все равно вверх. Кеш в modx чистил тоже.
Я закомментировал указанные Вами строки через программу Sublime Text в pdopage.js по адресу:
\assets\components\pdotools\js\pdopage.js
Но скроллит все равно вверх. Кеш в modx чистил тоже.
у меня все работает — только что проверял. Чистите кеш в браузере, а не в modx. Это клиентский кеш.
Сейчас попробую почистить кеш в браузере. Спасибо.
Скроллит зараза всеравно
ссылку в студию
он у меня пока локально в разработке. На продуктив не выложен.
тогда могу посоветовать еще раз проверить ваши изменения, вникнуть в них, открыть сайт в инкогнито режиме. Открыть в конце концов js файл pdopage в браузере и посмотреть закомментирован ли данный участок кода
Опубликовал в нете
www.obshee-delo72.ru/
Раздел «Новости»
Раздел «Новости»
у вас вообще ajax не работает подгрузка, потому что js не в слепую надо копировать а подумать прежде.
$(document).on('pdopage_load', function(e, config, response) {
console.log(e, config, response);
});
скрипт вызывается до того момента пока инициализирован jQuery, для этого необходимо его обернуть в $(function() {}); что равно событию document.ready$(function(){
$(document).on('pdopage_load', function(e, config, response) {
console.log(e, config, response);
});
});
Все равно выдает ошибку.
obshee-delo72.ru/:332 Uncaught ReferenceError: $ is not defined
Да ладно с этим… Вот на счет скрола, Вы не посмотрели на сайте?
obshee-delo72.ru/:332 Uncaught ReferenceError: $ is not defined
Да ладно с этим… Вот на счет скрола, Вы не посмотрели на сайте?
скролл не работает так как скрипт прерывается.
Скроллит вверх. Магия какая-то, ибо код указанный Вами закомментировал.
Исправьте:
(function($){
$(document).on('pdopage_load', function(e, config, response) {
console.log(e, config, response);
});
});
всё заработает
Исправил. Функция работает. В консоле ошибок нет.
Да и сама пагинация как и раньше работает нормально. Только скролл остался.
Да и сама пагинация как и раньше работает нормально. Только скролл остался.
пардон я опечатался выше.
не$(function(){ а (function($){
не$(function(){ а (function($){
С консоли ошибка ушла. Скролл остался ))
у вас в pdoPage в параметрах сниппета указано ajax=`1` и ajaxMode=`default`?
у вас в pdoPage в параметрах сниппета указано ajax=`1` и ajaxMode=`default`?&ajaxMode=`default`
$ is not definedСкрипт pdoPage подключается — он есть в исходном коде? Скорее всего нет.
Скрипт pdoPage подключается — он есть в исходном коде? Скорее всего нет.Я уже убрал этот скрипт
Да у меня еще и в стиле «лендингпейдж» сайт сделан, поэтому при скроллинге теряется секция из вида.
jQuery подключен?Да, у меня он в первой строке подгрузки скриптов подключен:
jQuery подключен:
<script src="assets/app/js/jquery.js"></script>
<script src="assets/app/js/bootstrap.min.js"></script>
<script src="assets/app/js/jquery.background-video.js"></script>
<script src="assets/app/js/jquery.prettyPhoto.js"></script>
<script src="assets/app/js/jquery.isotope.min.js"></script>
<script src="assets/app/js/main.js"></script>
<script src="assets/app/js/wow.min.js"></script>
<script src="assets/app/js/scrollUp.js"></script>
<script src="assets/app/js/jquery.popmenu.js"></script>
На счет как убрать скролл, подскажет кто-нибудь?
Вопрос закрыт. Разобрался. Всем спасибо!!!
Как оказалось сам перемудрил, а нужно было сделать по мануалу после чего… вуаля все заработало ))) Блин только целый день убил на это ))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.