[pdoTools] 2.3.0 - Рефакторинг и стандарты
Привет, друзья! Хочу представить вам новую версию pdoTools с важными изменениями.
Первым делом, весь код теперь соответствует стандарту PSR-2. Как бы я не любил табы, стандарт есть стандарт и пора уже его применять.
Вторым делом, по многочисленным просьбам заграничных товарищей, pdoTools больше не устанавливает дополнительные файлы в директорию core/model/modx/.
Я постарался сделать так, чтобы это ничего не сломало, и вы могли запускать класс как и раньше:
В Fenom добавлена пара модификаторов «по умолчанию». Ничего нового они не привносят, просто сокращают писанину.
Первый — это lexicon, который теперь можно использовать вот так:
Второй модификатор — url:
А раньше было так:
Следующие изменения касаются сниппетов.
В pdoSitemap изменён формат даты, теперь она выводится как ISO 8601.
А в pdoCrumbs, наконец-то, поменяны родные чанки, чтобы генерировать общепринятый список хлебных крошек в виде ul > li.
При установленном Bootstrap крошки теперь работают сразу из коробки.
Как видите, новая версия pdoTools старается лучше соответствовать стандартам и привносит изменения, которые нужно было сделать уже давно.
При обновлении не забудьте проверять работоспособность своих сайтов и если будут проблемы — пишите. Наше сообщество, понятно, уже работает на новой версии без проблем.
Первым делом, весь код теперь соответствует стандарту PSR-2. Как бы я не любил табы, стандарт есть стандарт и пора уже его применять.
Вторым делом, по многочисленным просьбам заграничных товарищей, pdoTools больше не устанавливает дополнительные файлы в директорию core/model/modx/.
Я постарался сделать так, чтобы это ничего не сломало, и вы могли запускать класс как и раньше:
$pdo = $modx-getService('pdoTools');
$pdo->setConfig(array('param' => 'value'));
// или
$pdo = new pdoTools($modx, array('param' => 'value'));Просьбы обусловлены глюками при разворачивании образов сайтов с pdoTools через Teleport. В том числе, на MODXCloud.В Fenom добавлена пара модификаторов «по умолчанию». Ничего нового они не привносят, просто сокращают писанину.
Первый — это lexicon, который теперь можно использовать вот так:
{'string' | lexicon}
// или
{'string' | lexicon : ['key' => 'value'] : 'ru'}Модификатор принимает опциональный массив плейсхолдеров для замены и указание языка. Рабочий пример:{$_modx->lexicon->load('en:core:default')}
{'action_err_nfs' | lexicon : ['id' => 25] : 'en'}Грузим английский словарь (если нужно) и выводим из него запись.Второй модификатор — url:
{10 | url}
// или
{10 | url : ['scheme' => 'full'] : ['param' => 'value']}Он принимает id ресурса и 2 опциональных массива: настройки и параметры url. Мой пример на тестовом сайте генерирует такой адрес:http://test23.dev/container/document?param=value
А раньше было так:
{$_modx->lexicon('action_err_nfs', ['id' => 25], 'en')}
// и
{$_modx->makeUrl(10, ['scheme' => 'full'], ['param' => 'value'])}Следующие изменения касаются сниппетов.
В pdoSitemap изменён формат даты, теперь она выводится как ISO 8601.
А в pdoCrumbs, наконец-то, поменяны родные чанки, чтобы генерировать общепринятый список хлебных крошек в виде ul > li.
При установленном Bootstrap крошки теперь работают сразу из коробки.
Заключение
Как видите, новая версия pdoTools старается лучше соответствовать стандартам и привносит изменения, которые нужно было сделать уже давно.
При обновлении не забудьте проверять работоспособность своих сайтов и если будут проблемы — пишите. Наше сообщество, понятно, уже работает на новой версии без проблем.
Комментарии: 31
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
За Особенно!
Проверьте пожалуйста дату хостинга или VDS/VPS
Выводит дату с timezone
+05:00 это timezone Asia/Tashkent
ru.wikipedia.org/wiki/ISO_8601#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B
Заметка для пользователей а не PdoTools
В остальном спасибо, работать сильно удобнее.
Единственное, что я вижу действительно нужного, это userinfo. И то, правильнее на мой взгляд, выбирать данные юзера сразу через join таблиц, а не отдельными запросами после.
Смотрите, чего не хватает, и шлите PR. В новой версии загрузка модификаторов не зря вынесена в отдельный метод.
Что именно не работает?
В логах там
Может с этим связано.
Ну а так — Office тоже нужно обновить.
Судя по всему ругается на настройки, источника файлов. Но они не менялись, стоят по умолчанию.
На сайте 2 источника файлов: «MS2Gallery Images» и «MS2 Images», с настройками по умолчанию.
Василий, с чем это может быть связано?
Есть TV типа MigX. В БД modx_site_tmplvar_contentvalues.value данные хранятся в таком формате строки
Как их отфильтровать правильно? И можно ли их распарсить и отфильтровать?
Т.е. если делать обычную выборку
То все работает, но это как-то в лоб получается. Может есть способ какой-то выборки по migx tv?
А для фильтрации что то вроде
P.S.: Возможно, надо копать в сторону MIGXdb, там данные хранятся в отдельной таблице и вариантов фильтрации уже больше.
Т.е. вместо {$_modx->resource.pagetitle} хочется иметь что-то вроде {$_pagetitle} или {$_res['pagetitle']}
Документацию ты можешь обновить самостоятельно — просто пришли исправления через GitHub.
Вдруг у кого то есть такая же проблема?