@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 для рендеринга ваших шаблонов.