@magdalen_kub
Для установки шаблонизатора Twig на MODX вам необходимо выполнить следующие шаги:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php require_once(MODX_CORE_PATH . 'components/twig/vendor/autoload.php'); $loader = new TwigLoaderFilesystemLoader(array( MODX_BASE_PATH . 'assets/templates/', )); $twig = new TwigEnvironment($loader); $output = $twig->render('template.html.twig', $modx->getPlaceholder()); echo $output; ?> |
Теперь MODX будет использовать Twig для рендеринга ваших шаблонов.
@magdalen_kub
Нужно уточнить, что система MODX не поддерживает Twig "из коробки". Поэтому, чтобы использовать Twig в MODX, вам понадобится дополнительная настройка. Вот пошаговая инструкция:
1 2 |
$modx->config['twig.core_path'] = $modx->getOption('core_path') . 'components/twig/'; $modx->getService('twig', 'TwigContainer', $modx->config['twig.core_path'].'model/twig/'); |
Пример конечного вида конфигурационного файла:
1 2 3 4 5 |
... define('MODX_CORE_PATH', dirname(dirname(__FILE__)) . '/core/'); $modx->config['twig.core_path'] = $modx->getOption('core_path') . 'components/twig/'; $modx->getService('twig', 'TwigContainer', $modx->config['twig.core_path'].'model/twig/'); ... |
1 2 3 4 5 6 7 8 9 10 11 |
<?php /** @var modX $modx */ $twig = $modx->getService('twig'); $loader = new TwigLoaderFilesystemLoader(MODX_BASE_PATH . 'assets/templates/'); $twig->addLoader($loader); $output = $twig->render('template.html.twig', $modx->toPlaceholders()); return $output; ?> |
Теперь MODX будет использовать Twig для рендеринга ваших шаблонов.