Bug Future fix Third party Ошибка в дополнении

XenForo version
2.2.12
Add-on version
1.0.0 Release Candidate
Code:
Uncaught TypeError: a.prop(...) is undefined
    querySelectorFor https://megaboom.pro/js/TC/AjaxPaging/ajax_paging.min.js?_v=b7ec04bc:4
    setupPage https://megaboom.pro/js/TC/AjaxPaging/ajax_paging.min.js?_v=b7ec04bc:4
    onPageLoad https://megaboom.pro/js/TC/AjaxPaging/ajax_paging.min.js?_v=b7ec04bc:3
    xhr https://megaboom.pro/js/TC/AjaxPaging/ajax_paging.min.js?_v=b7ec04bc:3
    m https://megaboom.pro/js/xf/core-compiled.js?_v=b7ec04bc:39
    jQuery 4


1679937999773.png

Это может быть из-за того что
2023-03-27_20-27-28.png

!! убрал Фильтры роутинга, ситуация не поменялась

Если ты тут проигноришь будет печально...
 

Kruzya

Developer
К сожалению, сделать конкретно в данном случае что-либо с моей стороны не представляется возможным.

Плагин работает в некоторых вакуумных условиях, которые соблюдают разработчики движка и части плагинов. В данном случае, требуемое условие не соблюдено: обязательно должен быть какой-то общий div-контейнер с контентом, который нужно на самой странице - заменять, и который и нужно искать в ответе сервера по ссылке (куда пользователя перенаправило бы при переходе по кнопке).
Стандартно считается, что на странице присутствует div-блок с классом block, и все свистопляски плагин производит от него. В плагине пагинации предусмотрена возможность переопределить селектор к блоку, указав свой, но самую главную проблему это никак не решает: в плагине, к которому в данном случае попыталась подвязаться AJAX-пагинация, просто не присутствует никакого блока, оборачивающего бы сразу и элемент с пагинатором, и сам контент.
Добавил обработку таких ситуаций с отключением функционала плагина в виде сообщения в консоли браузера, в 1.0.0 Release Candidate 1. Больше тут с моей стороны ничего не сделать.

А чтобы пагинация в данном случае заработала - достаточно просто в проблемном шаблоне обернуть два дива: block-container и block-outer в див с классом block.
Если имеются сложности с ручным добавлением недостающего div - могу помочь, но нужен доступ и сразу точные ссылки на страницы, где оно не работает.

Возможно, в обозримом будущем со своей стороны я добавлю возможность не зависеть от этого блока, но пока так.
 
Last edited by a moderator:
А нельзя ли как то в сам мод добавить возможность указывать области в которых он не будет работать?
Тоже имеются некие проблемы с тем что не могу в некоторых кастомных страницах которые добавляет модификация переходить постранично
При этом ошибки в консоли вида
JavaScript:
Uncaught TypeError: Cannot read properties of undefined (reading 'toLowerCase')
    at c.querySelectorFor (ajax_paging.min.js?_v=fa09023a:4:261)
    at c.setupPage (ajax_paging.min.js?_v=fa09023a:4:86)
    at c.onPageLoad (ajax_paging.min.js?_v=fa09023a:3:459)
    at ajax_paging.min.js?_v=fa09023a:3:366
    at Object.m [as success] (core-compiled.js?_v=fa09023a:39:335)
    at c (jquery-3.5.1.min.js?_v=fa09023a:2:28294)
    at Object.fireWith [as resolveWith] (jquery-3.5.1.min.js?_v=fa09023a:2:29039)
    at l (jquery-3.5.1.min.js?_v=fa09023a:2:79800)
    at XMLHttpRequest.<anonymous> (jquery-3.5.1.min.js?_v=fa09023a:2:82254)
Логи ошибок форума пусты
 

Kruzya

Developer
А нельзя ли как то в сам мод добавить возможность указывать области в которых он не будет работать?
Со стороны плагина предусмотрена возможность отключать его поведение в нужных местах, так что - да, конечно.
В нужном шаблоне найдите тег xf:pagenav, и добавьте ему атрибут tc-ajax-paging со значением {{ false }}. Прописать можно в любом месте, главное чтобы было в рамках тега.

Рекомендую делать это через TMS (модификации шаблонов). Это позволит сразу для всех тегов на странице добавить атрибут. Обычная замена <xf:pagenav на $0 tc-ajax-paging="{{ false }}" решит вопрос.

Если это какой-то публичный плагин - создайте, пожалуйста, отдельную тему по нему в этом же разделе. Я посмотрю и попробую добавить поддержку.
 
Спасибо за столь хороший и развернутый ответ под номером два где отлично расписана логика работы мода
Вчера уже было поздно и откровенно говоря было лень разбираться с тем модом
Сегодня внимательно прочитав сообщение под номером два и посмотрев код увидел что пагиниция в моде как и сам контейнер содержимого вынесено за пределы <div class="block">
Дальше уже TMS
Все работает,спасибо,в том числе и пагинация постраничная
Зачем так было делать в моде фиг его знает
В принципе можно было и не спрашивать а просто внимательно и вдумчиво читать пост номер два
 
Если переходить со страницы на страницу при этом выделяя сообщения для модерации то сначала получаем такое
Screenshot_35.png
Потом же сообщения вообще перестают выделяться для модерации
 
Back
Top Bottom