Андрей [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
Мирослав
Объясните в чем разница между +dl.wrap+ и просто +wrap+
отвечая на свой вопрос, собрал следующую информацию:
+dl.wrap+ это глобальный (системный) плейсхолдер, который доступен вне шаблонов передаваемых в сниппет (обычно с префиксом dl, но может быть другим при помощи параметров sysKey или id)
+wrap+ это виртуальный плейсхолдер, появляется после вычислений экстендера или контроллера
В Doclister используется +dl.wrap+ в параметре ownerTPL как обертка вывода документов, +wrap+ используется в TplWrapPaginate для обертки элементов пагинации.
в Dlmenu используется +wrap+ параметра outerTpl как вывод дочерних документов
Мирослав
Axenia
mirislav (0) увеличил карму aharito (339.28)
Oleg
Andrey
Спасибо, но потом. Сейчас думаю, как авторизацию / регистрацию завезти в 3.х. Нашёл доку с методами, но примеров как всегда...
Вот скажем, как проверить вообще, авторизирован или нет?
Pathologic
как обычно
Aliaksandr
Andrey
как обычно
Обычно проверял что-то типа $modx->getLoginUserID
А тут разве нет какого-то блейдовского @if
Pathologic
if $modx->getLoginUserID
Andrey
Ну я имел в виду что-то ларовское
@guest
xxx
@else
yyy
@endguest
Pathologic
ну, напиши сам такое
Andrey
Или там этот Auth:четотам
Мирослав
Andrey
Да какая разница. Как автор сниппета назвал, так и будет.
[+inside+] скажем
Pathologic
это в документации должно быть написано
Andrey
В доке это и написано...
Pathologic
обычно wrap, но может быть и не wrap ((^
Aliaksandr
Мирослав
Aliaksandr
Просто надо понимать, что их есть 2 вида: те, которые видны только внутри сниппета и используются только там и те, которые видны снаружи и могут использоваться в других сниппетах
Pathologic
в доклистере наверное можно в глобальные плейсхолдеры все вывалить, поэтому там dl.wrap
Мирослав
Aliaksandr
Вторые ставятся через $modx->setPlaceholder() и иногда называются глобальные
Andrey
...и иногда не работают
Alexander
Pathologic
Михаил что-то пилил на эту тему, не знаю, получилось или нет
Юрий
Andrey
Юрий
Да-да =)
а потом "тот человек не справился, у нас бюджет ограничен"
Камиль
Ё, господа! Вопрос по комментированию в пыхе, как правильно параметры массива комментить?
Ilya
А какая версия phpstorm !
Ilya
?
Камиль
2021.2
Alexander
Ilya
Камиль
работает, но как комментить их
Ilya
комменты, насколько я знаю, появились лишь в php8
Камиль
хм понял. спасибо
Мирослав
если бы он не сидел за одной с партой с девочкой - он бы так не думал
Камиль
Я когда в колледж поступал на программиста, в моей группе было 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.
Таким образом держим функционал разделенным и аккуратным.
Камиль
Михаил
Andrey
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 у формы не выйдет? По примеру с Гита делал
Михаил
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]]
EVO bot Лёшка