Шаблонизатор Blade
Вывод информации Evolution CMS в блэйдовских шаблонах

Написанное на этой странице работает в файлах /views/**/.blade.php. Это куски вьюхи, в которые поступает информация из контроллера. Следовательно, из контроллера мы можем передать любую подготовленную информацию модели, главное её записать в контроллере в переменную $this->data['var'].

В файлах *.blade.php работает шаблонизатор Blade, а также родной шаблонизатор Эво, поэтому от второго лучше избавиться и не использовать стандартные конструкции и переменные в квадратных скобках.

{{ Экранированный }}, {!! неэкранированный !!} вывод html

{{ $documentObject['content'] }} - экранированный вывод html. Тут пишем параметры и tv-параметры страницы

{{ Пример вывода }}
<p>Тут параграф в видимых тэгах.</p>

{!! $documentObject['content'] !!} - неэкранированный вывод html

</> {!! Пример вывода !!}
Тут параграф без видимых тэгов.

Делаем вывод, что в разработке будем в 90% случаев использовать конструкцию {!! !!}, а конструкцию {{ }} оставим только для чанков.

Системные поля и методы

Системная информация сайта хранится в объекте $modx.

{!! $modx->getConfig('site_url') !!} - выводим урл сайта

Больше переменных и функций

{!! $modx->runSnippet('DLMenu','['parents' => 1, 'maxDepth' => 1, ]') !!} - вывод сниппета

</> html code Скопировать
{!! $modx->runSnippet('DLCrumbs',[ 'tpl' => '@B_FILE: partials/chunks/breadcrumbsTpl', 'tplCurrent' => '@B_FILE: partials/chunks/breadcrumbsTplCurrent', 'parents' => '1', 'ownerTPL' => '@B_FILE: partials/chunks/breadcrumbsOwnerTpl', 'showCurrent' => '1', 'showParent' => '1', 'hideMain'=>'0' ]) !!}

{!! $data['crumbs.wrap'] !!} - вывод в чанке плейсхолдера +crumbs.wrap+

@ evoParser('{ {breadcrumbs}}') - вывод чанка Ломает шаблон

@include('partials.chunks.breadcrumbs') - другой вариант вывода чанка из /views/partials/chunks/breadcrumbs.blade.php

{{ dump($test) }} - дампит то, что передаётся из контроллера параметром $this->data['test']

{{ @makeUrl($item['id']) }}

{{ @include('partials.chunk', ['some' => 'data']) }}

@evoParser('[*pagetitle*] [(site_name)] {{chunkOld}}') - стандартный парсер

@if

$parents приходит из модели

$item['id'] приходит из перебора. Ну и, если угодно, $documentObject['content']

</> html code Скопировать
<li><a href="#" class="@if(in_array($item['id']), $parents) @endif">{{ $item['pagetitle'] }}</a></li>

@foreach

</> html code Скопировать
@foreach($menu as $item) <li><a href="@makeUrl($item['id'])">{{ $item['pagetitle'] }}</a></li> @endforeach
Яндекс.Метрика