繁体   English   中英

Twig不呈现HTML标记

[英]Twig doesn't render HTML tags

请问我想知道为什么twig会输出这样的输出: 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 %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM