Пожалуйста, я хотел бы знать, почему выворачивание выводов происходит следующим образом: http://twig.sensiolabs.org/doc/tags/filter.html
Это то, с чем я работаю:
class MyClass { public function loadViewWithContent($name, $variables) { $twig = load_twig(); // look at the pages dir $page = getdir("pages") . $name . '.html'; $variables['vars'] = $this->menuItem(); if(file_exists($page)) { print $twig->render($name . '.html', $variables); } } public function menuItem() { $loginmenu = array( 'text' => 'Login', 'path' => '/login', 'attributes' => array( 'target' => '', 'title' => 'Login' ) ); $menus = array( 'primary_menu' => array( 'login' => $this->theme_link($loginmenu), ), ); return $menus; } public function theme_link($menu) { if(is_array($menu)) { $output = '<a href="' . $menu['path'] . '">' . $menu['text'] . '</a>'; } return $output; } } $clazz = new MyClass(); $clazz->loadViewWithContent('home', array());
home.html
{{ vars.primary_menu.login }}
Отображает <a href="/login">Login</a>
в браузере
Почему HTML-теги не отображаются при отображении в браузере?
Спасибо за помощь.
Autoescape , вероятно, активен. Вы можете сказать Twig, что логин является «безопасным» значением.
{{ vars.primary_menu.login|raw }}
или
{% autoescape false %} {{ vars.primary_menu.login }} {% endautoescape %}