Инструкция о том, как расширить Twig. По аналогии данную инструкцию можете использовать для добавления своих расширений шаблонизатора Twig.
Итак приступим. Создайте плагин или работайте с уже существующим.
Шаг 1.
Устанавливаем через Composer пакет buzzingpixel/twig-switch
composer require buzzingpixel/twig-switch
Шаг 2.
В плагине Plugin.php добавляем
use buzzingpixel\twigswitch\SwitchTwigExtension;
use Event;
public function boot()
{
Event::listen('cms.page.beforeRenderPage', function($controller, $page) {
$twig = $controller->getTwig();
$twig->addExtension(new SwitchTwigExtension());
});
}
И все ))) Теперь switch будет у вас в шаблонизаторе.
Шаг 3.
Как это работает.
В вашем шаблоне можете использовать конструкцию типа
{% switch myVar %}
{% case 'value1' %}
{# ...code here to run for value1 #}
{% case 'value2' %}
{# ...code here to run for value2 #}
{% default %}
{# ...code here to run for default when no case matched #}
{% endswitch %}