Aliaksandr
а не это инлайн-месиво, которое потом еще и копипастить надо , перекрестясь, чтобы не захотел никто заголовок и текст местами поменять или добавить какой-нибудь рейтинг
Pathologic
Dmytro
тоесть как снипет в снипете в снипете и куча чанков ок
Dmytro
а как заюзать инклюд в BLADE так пипец как плохо
Aliaksandr
Dmytro
Да при том что я не понимаю проблемы
Aliaksandr
я говорю конкретно про тот скрин, где в блейде вызывается сниппет с инлайновыми блейдовыми же шаблонами
Aliaksandr
это хирня полнейшая
Dmytro
Dmytro
@include('partial.docliter-item-tpl')
Dmytro
в чем проблема ?
Pathologic
если в чанке только вывод, то смысла использовать шаблонизатор в чанке тоже нет никакого
Dmytro
Я считаю что красиво юзать или MODX шаблонизатор или полностью Twig или Blade
Dmytro
но не использовать совместно что бы не было каши после
Dmytro
ибо когда половина чанктов MODX а половина других шааблонизаторов в одном проекте то это печально и не красиво
Dmytro
хотя работает хорошо и проблем нет но нафига ???
Aliaksandr
т.е. вот так и надо?))
Aliaksandr
подскажите плиз по blade
{!! $modx->runSnippet('DLMenu',[
'parents' => 0,
'maxDepth' => 1,
'outerTpl' => '@B_CODE <nav{{ $data["classes"] }}>{{ $data["wrap"] }}</nav>',
'rowTpl' => '@B_CODE <a href="{{ $data["url"] }}">{{ $data["title"] }}</a>'
])
!!}
{{ $data["wrap"] }} в этом случае экранируется и выводится html на страничку.
могу предположить, что решается через файлы, но может и другое решение есть?
{!! $data["wrap"] !!} выдает ошибку
EVO bot Лёшка
Pathologic
Pathologic
для красоты можно эти шаблоны вынести в конфиг
Pathologic
или не выводить меню этими чанками
Камиль
Камиль
если я понимаю как шаблонизатор работает
Aliaksandr
Dmytro
{!! $modx->runSnippet('DLMenu',[
'parents' => 0,
'maxDepth' => 1,
'outerTpl' => '@B_CODE <nav{{ $data["classes"] }}>{{ $data["wrap"] }}</nav>',
'rowTpl' => '@B_CODE <a href="{{ $data["url"] }}">{{ $data["title"] }}</a>'
])
!!}
Работет на отлично но это не красиво и не правильно. Ибо тот кто не знает MODX не сможет с этим работать
Pathologic
B_CODE или T_CODE в целом имеют смысл только при использовании стандартного парсера
Aliaksandr
а когда {{ - то код экранирует )
Pathologic
то что они вообще работают, это недокументированная особенность
Dmytro
а это печаль
Камиль
Aliaksandr
короче инлайновая шаблонизация для многих случаев - отстой, потому что нарушает базовый принцип объявления одной и той же сущности один раз
Pathologic
верно
Александр
Aliaksandr
ну так используй обычный @CODE - в чем там проблема то? )) это же базовый функционал используемого сниппета, зачем писать {{ $data[wrap] }} там где можно просто написать [+wrap+] :)
Dmytro
Aliaksandr
а если нужно что-то более сложное - то или prepare или в чанке/файле шаблон и там крути что хочешь)
Александр
Александр
Aliaksandr
Dmytro
Aliaksandr
красота вопрос спорный - как по мне {!! $data["wrap"] !!} больше похоже на месиво, чем [+wrap+] - но в этом чате это уже вопрос более религиозный, потому даже и спорить не буду )
Aliaksandr
Aliaksandr
надо выносить в чанк или файл , а не инлайнить - чтобы заработало
Dmytro
Pathologic
Александр
если снипет вызывать в контроллере и отдавать массив - небудет ничего экранироваться )
Pathologic
экранироваться будет при выводе шаблонизатором
Aliaksandr
Камиль
Просто интереса ради проверил)) так работает
@php
$options = [
'parents' => '0',
'ownerTPL' => '@B_CODE:{!!$data["dl.wrap"]!!}',
'tpl' => '@B_CODE:<strong>{{$data["pagetitle"]}}</strong>'
];
@endphp
{!! $modx->runSnippet('DocLister', $options) !!}
Pathologic
ну это херня совсем
Pathologic
хак
Aliaksandr
пиздец, поплыли говнокодить ))
Камиль
😁это моя тема
Dmytro
Aliaksandr
давай сразу на пхп, нафига скромничать ))
Dmytro
Dmytro
давайте сделаем вид что @php не рабоатет в шаблоне )
Pathologic
Камиль
Pathologic
интуитивно понятно, что [+wrap+] это плейсхолдер
Aliaksandr
точно, вдруг твой проект попадется битриксоиду ))
Aliaksandr
а он такой хопа - че за жопа.. какие-то {!! какие-то @evpParser )))
Pathologic
плюс есть документация
Dmytro
Как по мне вот так понятно и удобно:
https://take.ms/HXxdV
Dmytro
Dmytro
Pathologic
о да
Pathologic
parseDocumentSource
Dmytro
parseDocumentSource
Ну сори я пока хз как избавиться от плейсхолдеров передаваемых в значении по умолчанию в ТВ 🙂
Aliaksandr
а че везде getConfig, а в одном месте config[] ? ))
Ilya
Pathologic
<meta name="description" content="{{ resource['meta-description'] ?: resource.introtext }}">
<meta name="keywords" content="{{ resource['meta-keywords'] ?: resource.pagetitle }}">
вот так
Dmytro