Обновление PdoPage
Ранее описал как убрать зависимость от jQuery в PdoPage
Затем залез в issues и увидел там давольно интересное предложение от @Руслан Алеев и описание ошибок с которыми тоже сталкивался не раз
Самая бесячая для меня
PHP warning: Undefined variable $showLog
решение которой начинается сразу после установки
Поэтому решил немного исправить ошибки и добавить новые фишки
Скажу сразу что я не гуру кода, часть делал через нейронку
Тестил на php начиная с 7.4 до 8.4
MODX 3.1.2
То что «вроде» получилось сделать PR кинул
https://github.com/vitos88/pdoTools3.0.3
#366
#369
#381
Не получилось исправить
#372
#375
Затем залез в issues и увидел там давольно интересное предложение от @Руслан Алеев и описание ошибок с которыми тоже сталкивался не раз
Самая бесячая для меня
PHP warning: Undefined variable $showLog
решение которой начинается сразу после установки
Поэтому решил немного исправить ошибки и добавить новые фишки
Скажу сразу что я не гуру кода, часть делал через нейронку
Тестил на php начиная с 7.4 до 8.4
MODX 3.1.2
То что «вроде» получилось сделать PR кинул
https://github.com/vitos88/pdoTools3.0.3
- убрал зависимость от jQuery (#315) файл pdopage.js и pdopage.min.js
- убрал ошибку Undefined variable $showLog (#351) сниппет pdoPage
- исправил &outputSeparator при включеном
(#354) сниппет pdoPage&ajaxMode=`button` - убрал ошибку "[] operator not supported for strings in pdoCrumbs" (#367) сниппет pdoCrumbs
- По умолчанию &sortby=`pagetitle`, но если другой класс будет то где нет pagetitle логика ломалась и нужно было дабавлять свое поле в sortby
Поменял логику в 'core/components/pdotools/src/Fetch.php'
Теперь если publishedon нет у обьекта будет приотитет такой:
publishedon, createdon, menuindex, pagetitle, username, id
вроде везде будет, id то точно (#368) - исправил (#370)
исправил 'core/components/pdotools/src/Support/Paginator.php' - добавлен &limitOnPage в PdoPage (#374) сниппет pdoPage
Теперь если в PdoPage задан limitOnPage он имеет высокий приоритет и limit игнорируется полностью
limit из post/get средний приоритет
если оставить как обычно limit это будет самый низкий преоритет
#366
#369
#381
Не получилось исправить
#372
#375
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Небольшой дружеский совет. Желание внести свой вклад в развитие продукта очень похвально. Это уже половина успеха. Но перед тем, как сразу браться за большое и важное дополнение, не имея ни опыта, полного понимания продукта, потренируйся на чём-то простом. И первое, что стоило бы прокачать — навык владения русским языком. Просто кровь из глаз. Раньше раздражало, когда запятые поставить не могли. Тут уже следующий уровень деградации — даже точку в конце предложения поставить трудно. Сторонние наблюдатели могут подумать, что в программисты идут одни дебилы. Что совершенно не так!
@ВитОс понятное дело, что в первозданном виде изменения в ряд ли попадут в общественную версию, но всё равно спасибо, что решился не только втихаря поправить на своём сайте и забить, а хотя бы сделал попытку привнести вклад в общественно полезный компонент!
Тем, кто пишет красивый заказной код, пригодный для вливания сразу в продакшен-версию, зачастую не хватает времени и мотивации, ведь красивописание — очень утомительно, это факт. Но, быть может, с твоей подачи кто-то ещё подхватит флаг и возьмется, например, оформить PR как надо. И таким образом продвинется процесс закрытия багов и улучшений компонента!
Потом это подхватил я, как перед выпуском также тестировал очень внимательно. И опять же где-то пропускал баги. Вот народ мне насовывал в панамку.
Я в прошлом году начал делать обновления, о которых писал у себя в блоге. Только, чтобы всё это протестить, нужно времени гораздо больше. На этом и застрял. Нельзя просто выкатить новый функционал без тестирования.
Даже малейшее изменение нужно тестировать глубоко и долго. А тут такая куча мала, что никто даже не возьмется это делать. Нужны небольшие PR с подробным описанием, а один PR со всевозможными фиксами, форматами и без описания.
Сделал отдельный файл pdopage-no-jquery.js. Запихнул его в /assets/components/custom/
Комментарии решил оставить.
Получилось, вроде, неплохо, но кажется, что есть что ещё можно доработать
Вызов PdoPage
Проверил во всех модах: дефолт (там, собственно, скрипт и не нужен), button, scroll
Сам js-код
Сейчас ажиотаж от того, что «маааам, посмотри, что я сделал», прошёл и надо ещё разок свежим взглядом всё пробежать…