Андрей [aharito]
Объясните в чем разница между +dl.wrap+ и просто +wrap+
Да ни в чем, по большому счету. Просто в ДокЛистере используется именно [+dl.wrap+], а в некоторых других сниппетах [+wrap+]. Это уж как создателю сниппета захочется, например можно написать в сниппете: $ph["obertka"] = /*Какое-то там содержимое*/; $out = DLTemplate::getInstance($modx)->parseChunk($ownerTPL,$ph); и тогда в чанке нужно будет использовать [+obertka+].
Am
Объясните в чем разница между +dl.wrap+ и просто +wrap+
В контексте Doclister'a разница описана в документации https://docs.evo.im/04_extras/doclister/03_templates.html [+dl.wrap+] - это плейсхолдер который выводит СПИСОК результатов в параметре ownerTPL [+wrap+] - это плейсхолдер который выводит пагинацию в параметре TplWrapPaginate
Андрей [aharito]
Объясните в чем разница между +dl.wrap+ и просто +wrap+
Если же говорить именно про ДокЛистер, то посмотрите доки https://docs.evo.im/04_extras/doclister/03_templates.html, поищите там sysKey
Мирослав
Объясните в чем разница между +dl.wrap+ и просто +wrap+
отвечая на свой вопрос, собрал следующую информацию: +dl.wrap+ это глобальный (системный) плейсхолдер, который доступен вне шаблонов передаваемых в сниппет (обычно с префиксом dl, но может быть другим при помощи параметров sysKey или id) +wrap+ это виртуальный плейсхолдер, появляется после вычислений экстендера или контроллера В Doclister используется +dl.wrap+ в параметре ownerTPL как обертка вывода документов, +wrap+ используется в TplWrapPaginate для обертки элементов пагинации. в Dlmenu используется +wrap+ параметра outerTpl как вывод дочерних документов
Axenia
mirislav (0) увеличил карму aharito (339.28)
Andrey
Спасибо, но потом. Сейчас думаю, как авторизацию / регистрацию завезти в 3.х. Нашёл доку с методами, но примеров как всегда... Вот скажем, как проверить вообще, авторизирован или нет?
Pathologic
как обычно
Andrey
как обычно
Обычно проверял что-то типа $modx->getLoginUserID А тут разве нет какого-то блейдовского @if
Pathologic
if $modx->getLoginUserID
Andrey
Ну я имел в виду что-то ларовское @guest xxx @else yyy @endguest
Pathologic
ну, напиши сам такое
Andrey
Или там этот Auth:четотам
Andrey
if $modx->getLoginUserID
$this->evo = EvolutionCMS(); $uid = $this->evo->getLoginUserID(); false
Andrey
Да какая разница. Как автор сниппета назвал, так и будет. [+inside+] скажем
Мирослав
Да какая разница. Как автор сниппета назвал, так и будет. [+inside+] скажем
чтобы использовать плейсхолдеры правильно - нужно знать какие и где используются
Pathologic
это в документации должно быть написано
Andrey
В доке это и написано...
Pathologic
обычно wrap, но может быть и не wrap ((^
Aliaksandr
чтобы использовать плейсхолдеры правильно - нужно знать какие и где используются
Так это плейсхолдеры конкретного сниппета, у другого другие, у третьего третьи
Мирослав
Aliaksandr
Просто надо понимать, что их есть 2 вида: те, которые видны только внутри сниппета и используются только там и те, которые видны снаружи и могут использоваться в других сниппетах
Pathologic
в доклистере наверное можно в глобальные плейсхолдеры все вывалить, поэтому там dl.wrap
Aliaksandr
Вторые ставятся через $modx->setPlaceholder() и иногда называются глобальные
Andrey
...и иногда не работают
Мирослав
это в документации должно быть написано
документация не везде ясно объясняет, поэтому пришлось по нескольку раз перечитывать чтобы дошло
Pathologic
...и иногда не работают
не работают они если ставятся из кэшированного сниппета
Pathologic
Михаил что-то пилил на эту тему, не знаю, получилось или нет
Юрий
Andrey
Да-да =)
Юрий
Да-да =)
а потом "тот человек не справился, у нас бюджет ограничен"
Камиль
Ё, господа! Вопрос по комментированию в пыхе, как правильно параметры массива комментить?
Ilya
А какая версия phpstorm !
Ilya
?
Камиль
2021.2
Alexander
Камиль
работает, но как комментить их
Ilya
комменты, насколько я знаю, появились лишь в php8
Камиль
хм понял. спасибо
Мирослав
если бы он не сидел за одной с партой с девочкой - он бы так не думал
Камиль
Я когда в колледж поступал на программиста, в моей группе было 3 пацана и 20 с лишним девушек
Andrey
Я когда в колледж поступал на программиста, в моей группе было 3 пацана и 20 с лишним девушек
Я когда курсы вёл, девушки тоже были. Сидели, пялились на меня преданным взором. Периодически смотрели себе на сиськи. Знаете, есть такая тема у девочек: смотрит-смотрит на тебя, потом вдруг глаза вниз и на сиськи зырк.
Andrey
И это собственно всё, что от них там было позитивного. Но чанк и сниппет всё же не путали.
Камиль
Am
Andrey
чё прям у всех они были?
Нет. Но глаза-то были.
Andrey
Псст UserManager Как перевод прилепить к эксепшенам? catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) { print_r($exception->getMessage());
Andrey
Или хотя бы некий числовой ответ получить, чтобы по нему свои мессаджи вывести
Камиль
https://plugins.jetbrains.com/plugin/9927-deep-assoc-completion
Камиль
https://stackoverflow.com/a/51032174
Am
Это, конечно же, ппц в плане разработки когда такая архитектура где нужны подобные плагины.
Камиль
удобненько
Камиль
аргементов точнее
Камиль
хотя наверно аргументами сделать чтобы всем норм было
Anonymous🇺🇦
Камиль
бэкдор 😗
Alexander Kryvopust
+
Axenia
A_FLOOD (29.34) увеличил карму AnonymousAleks (205.51)
Am
ну либо стопицот параметров
В таком случае, обычно, разделяют на функции или делают доступ через Data model где описывают доступ ко всем нужным данным. Типа такого https://github.com/odan/slim4-skeleton/blob/master/src/Domain/User/Data/UserData.php И тогда можно сделать startUserSession(UserAuthData $user) например и когда внутри этой функции сделать $user-> то будет выпадающий список всех нужных данных описанных в UserAuthData. Таким образом держим функционал разделенным и аккуратным.
Михаил
Псст UserManager Как перевод прилепить к эксепшенам? catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) { print_r($exception->getMessage());
там же все переводы есть, в зависмости от установленного языка выводятся нужные
Andrey
По сути то я бы вообще хотел не юзать его, а выводить свой текст. Тоже не нашел как сунуть в массив
Игорь
Добрый день, подскажите ошибку после переноса сайта на хостинг PHP Warning: file_put_contents(...../core/storage/cache//35/6a/356a192b7913b04c54574d18c28d46e6395428ab): failed to open stream: No such file or directory in ...../core/vendor/illuminate/filesystem/Filesystem.php on line 187
Михаил
Неа, почему-то английский.
потому что английский по умолчанию, а другой не задан
Михаил
evo()->setLocale('ru')
Andrey
Оу. А без этого просто дать свою фразу в validate у формы не выйдет? По примеру с Гита делал
Михаил
Оу. А без этого просто дать свою фразу в validate у формы не выйдет? По примеру с Гита делал
наверное только если те же правила проверить до вызова usermanager
Andrey
Не могу нормально сделать авторизацию( Точнее, вывод ошибок. https://pastebin.com/YaG9UiFw Нарыл метод для ручного добавления ошибок $validator->getMessageBag()->add('username', 'login !'); Но они в шаблоне не показываются.,
Andrey
Возможно, надо убивать весь этот \Validator::make и просто тупо писать ошибки в секции где catch. Но тогда хз как их сунуть в форму также. Запутался, блин(
Мирослав
Здравия, у меня в доклистере в качестве parents указан ресурс - папка с названием Акции. Как вывести его имя в шаблоне вместо слова Акции? [!DocLister? &parents=`310` &display=`1` &noneWrapOuter=`0` &ownerTPL=`@CODE:<div>АКЦИИ</div> <div>[+dl.wrap+]<div>` &tpl=`@CODE:<a href="[+url+]">[+title+]</a>` !] решение: установить Docinfo и прописать вместо слова АКЦИИ [[DocInfo? &docid=310 &field=pagetitle]]