Download the PHP package proklung/twig-extensions-bundle without Composer
On this page you can find all versions of the php package proklung/twig-extensions-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download proklung/twig-extensions-bundle
More information about proklung/twig-extensions-bundle
Files in proklung/twig-extensions-bundle
Package twig-extensions-bundle
Short Description Custom twig extensions and functions for Twig.
License MIT
Informations about the package twig-extensions-bundle
Бандл с набором расширений для Twig
INTERNAL
Установка
composer require proklung/twig-extensions-bundle
Конфигурация
Файл local/configs/packages/twig_extension_pack.yaml:
Расширения
render
Доработанный вариант функции render из фреймворка.
Первый вариант - рендер по контроллеру.
{{ render(controller("Local\\ExampleSimpleController", { 'id': 3 })) }}
Второй вариант - рендер по роуту.
{{ render('/api/entrypoint/', {'headers' : { 'X-Requested-With': 'XMLHttpRequest'} }) }}
Нюанс: не будет работать без установленного кастомного бандла с Symfony роутером (https://github.com/ProklUng/BitrixSymfonyRouterBundle).
render_service
Рендер из сервиса.
{{ render_service('app.controller.user', 'detail', {'user': user}, {'eventDispatcher': 'event_dispatcher'}) }}
renderController
Рендер контроллера.
{{ renderController('Local\Buffering\Buffer::showBuffered', 'additional-styles') }}
dump
Стандартный твиговский dump.
dump_custom
Красивый твиговский dump (на базе Symfony\Component\VarDumper).
json_decode
json_decode как твиговская функция.
glob
glob как твиговский фильтр.
youtube
Прочее
encore_entry_link_tags- путь к CSS entry Symfony Encoreencore_entry_script_tags- путь к JS entry Symfony Encorequote- строку в кавычкиsortbyfield- сортировка массива по полюurl- url по роуту и его параметрамabsolute_url- абсолютный (со схемой и хостом) по urlpath- путь по роуту и его параметрамnaturaljoincsrf_token- проверка csrf токена приложенияinclude(<путь к файлу>)- включение php или html файлаtruncate- обрезка строки с сохранением html тэгов
Wordpress:
apply_filter- apply_filter.
Битриксовые
Из пакета, оригинальная документация:
Переменные из Битрикс
APPLICATION- экземпляр класса \CMain, который хранится в глобальной переменной$APPLICATIONUSER- экземпляр класса \CUser, который хранится в глобальной переменной$USERapp- экземпляр класса \Bitrix\Main\Application, если библиотека работает в битриксе с d7result- массив $arResult, сформированный в компоненте. См. примечания по настройкеextract_resultparams- массив arParams, содержащий параметры компонентаtemplate- экземпляр класса \CBitrixComponentTemplate для данного шаблонаcomponent- экземпляр класса \CBitrixComponent для текущего компонента. Следует учитывать, что это не тот класс, который определен в компоненте, а именно \CBitrixComponenttemplateFolder- путь до директории текущего шаблона относительно DOCUMENT_ROOTparentTemplateFolder- путь до директории шаблона родительского компонента, если используется комплексный компонент. Эта переменная не учитывает родство шаблонов при использовании, например, функцииextendsв twiglang- массив языкозависимых переменных текущего шаблона. Будет удалено в версии 1.1
Функции из Битрикс
showComponent()- аналог\CMain::IncludeComponent(). Данная функция только подключает компонент, но не возвращает результат работы компонента. Если вызывать подключение компонента с помощью объектаAPPLICATION, то twig пытается вывести возвращаемое этим методом значение, что приводит часто к появлению артефактов в шаблонах.getMessage()- синоним для функцииGetMessage()или метода\Bitrix\Main\Loc::getMessage(), если проект работает с d7bitrix_sessid_post()иbitrix_sessid_get()- переменные для генерации подписи с ID сессии в формах, синонимы одноименных функций в битриксеshowNote(),showError()иshowMessage()- синонимы функцийShowNote(),ShowError()иShowMessage()
Переменные из PHP
К сожалению, в Битрикс иногда сложно обойтись без использования суперглобальных переменных напрямую в шаблонах, поэтому все суперглобальные переменные из php пробрасываются в каждый шаблон и доступны по именам _SERVER, _GET, _POST, _REQUEST, _SESSION, _COOKIE, _FILES, _ENV и _GLOBALS
Дополнительные дела
Если на проекте используется пакет с поддержкой твиговского движка
в компонентах, то в экземпляр того Твига автоматически перебрасываются все зарегистрированные в контейнере
extensions (то, что отмечено в конфигах тэгом twig.extension) и runtimes (тэг twig.runtime).
Также эта штука поддается использованию автономно, без контейнера.
Где-нибудь в init.php (для extensions; для runtimes класс обработчик - Prokl\TwigExtensionsPackBundle\Services\Twig\TwigRuntimesBag):
Если пакет не установлен, то соответствующие сервисы удаляется на стадии компиляции контейнера.
Изначальная конфигурация пакета имеет приоритет над прокидываемым снаружи.
All versions of twig-extensions-bundle with dependencies
symfony/dependency-injection Version ^4.4 || ^5.0
symfony/http-kernel Version ^4.4 || ^5.0
symfony/config Version ^4.4 || ^5.0
symfony/security-csrf Version ^4.4 || ^5.0
symfony/twig-bridge Version ^4.4 || ^5.0
symfony/mime Version ^4.4 || ^5.0
twig/twig Version ^1.43 |^2 | ^3
twig/cache-extra Version ^3.3
tijsverkoyen/css-to-inline-styles Version ^2.2
proklung/base-exception Version ^1.0