Обновление 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
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
Комментарии: 8
Минус ставить не буду (не сторонник этого), просто скажу, что это полный треш! Даже на этапе оформления уже понятно, что код смотреть не нужно.
Небольшой дружеский совет. Желание внести свой вклад в развитие продукта очень похвально. Это уже половина успеха. Но перед тем, как сразу браться за большое и важное дополнение, не имея ни опыта, полного понимания продукта, потренируйся на чём-то простом. И первое, что стоило бы прокачать — навык владения русским языком. Просто кровь из глаз. Раньше раздражало, когда запятые поставить не могли. Тут уже следующий уровень деградации — даже точку в конце предложения поставить трудно. Сторонние наблюдатели могут подумать, что в программисты идут одни дебилы. Что совершенно не так!
Небольшой дружеский совет. Желание внести свой вклад в развитие продукта очень похвально. Это уже половина успеха. Но перед тем, как сразу браться за большое и важное дополнение, не имея ни опыта, полного понимания продукта, потренируйся на чём-то простом. И первое, что стоило бы прокачать — навык владения русским языком. Просто кровь из глаз. Раньше раздражало, когда запятые поставить не могли. Тут уже следующий уровень деградации — даже точку в конце предложения поставить трудно. Сторонние наблюдатели могут подумать, что в программисты идут одни дебилы. Что совершенно не так!
Человек похоже не ставил целей потренироваться в контрибьютинге, а хотел пофиксить моменты, которые ему не давали покоя. Чего набрасываться-то?! Тем более, что он извинился заранее за хреновый код…
@ВитОс понятное дело, что в первозданном виде изменения в ряд ли попадут в общественную версию, но всё равно спасибо, что решился не только втихаря поправить на своём сайте и забить, а хотя бы сделал попытку привнести вклад в общественно полезный компонент!
Тем, кто пишет красивый заказной код, пригодный для вливания сразу в продакшен-версию, зачастую не хватает времени и мотивации, ведь красивописание — очень утомительно, это факт. Но, быть может, с твоей подачи кто-то ещё подхватит флаг и возьмется, например, оформить PR как надо. И таким образом продвинется процесс закрытия багов и улучшений компонента!
@ВитОс понятное дело, что в первозданном виде изменения в ряд ли попадут в общественную версию, но всё равно спасибо, что решился не только втихаря поправить на своём сайте и забить, а хотя бы сделал попытку привнести вклад в общественно полезный компонент!
Тем, кто пишет красивый заказной код, пригодный для вливания сразу в продакшен-версию, зачастую не хватает времени и мотивации, ведь красивописание — очень утомительно, это факт. Но, быть может, с твоей подачи кто-то ещё подхватит флаг и возьмется, например, оформить PR как надо. И таким образом продвинется процесс закрытия багов и улучшений компонента!
спасибо. я и хотел просто поделиться. Понятное дело что попадет в общую версию, просто когда ищешь как решить одну и туже проблему по сто раз уходит много времени, вот и решил тут поделиться
Это наиважнейший компонент MODX. Гораздо важнее не просто что-то поправить, а выпустить рабочую версию. Если ты посмотришь старые посты, где Василий выпускал новые версии, то увидишь, что в комментариях люди писали о багах, которые он оперативно фиксил. И это человек, у которого в голове каждая переменная и запятая pdoTools. Перед выпуском он тестировал версию. И то что-то ломалось.
Потом это подхватил я, как перед выпуском также тестировал очень внимательно. И опять же где-то пропускал баги. Вот народ мне насовывал в панамку.
Я в прошлом году начал делать обновления, о которых писал у себя в блоге. Только, чтобы всё это протестить, нужно времени гораздо больше. На этом и застрял. Нельзя просто выкатить новый функционал без тестирования.
Даже малейшее изменение нужно тестировать глубоко и долго. А тут такая куча мала, что никто даже не возьмется это делать. Нужны небольшие PR с подробным описанием, а один PR со всевозможными фиксами, форматами и без описания.
Потом это подхватил я, как перед выпуском также тестировал очень внимательно. И опять же где-то пропускал баги. Вот народ мне насовывал в панамку.
Я в прошлом году начал делать обновления, о которых писал у себя в блоге. Только, чтобы всё это протестить, нужно времени гораздо больше. На этом и застрял. Нельзя просто выкатить новый функционал без тестирования.
Даже малейшее изменение нужно тестировать глубоко и долго. А тут такая куча мала, что никто даже не возьмется это делать. Нужны небольшие PR с подробным описанием, а один PR со всевозможными фиксами, форматами и без описания.
Тут согласен без оговорок. Но контексте топика — рвение и инициативу предпочитаю поощрять, или хотя бы не мешать ;)
Согласен с первым комментарием, деградация написания 80lvl.
Полез смотреть код и похоже @ВитОс его откатил :-(. Пустые коммиты только вижу.
удалил pr будет время создам заново, как нужно, по одному, а не пачкой
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.