twig - 在不工作的情况下,使用TwigView插件

  显示原文与译文双语对照的内容

我在 CakePHP 应用程序中安装了 TwigView,我正在尝试将元素 header.twig.tplfooter.twig.tpl 加载到默认模板中,称为 default.twig.tpl

它可以正常工作:


<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

 <title>Hello world!</title>

</head>
<body>
{% element 'header.twig' %}

 {{ test_var_from_controller }} <!-- this works and echoes"Hello world!" as expected -->

{% element 'footer.twig' %}
</body>
</html>

当我尝试使用 CakePHP 默认 Helpers 时,问题就开始了,它们只是被忽略。

我不确定为什么,如果我尝试:


<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

 <title>Hello world!</title>
 {{ html.css('styes.min') }}
</head>

方法在没有抛出错误时被忽略,并且页面仍然像以前从未调用过的那样工作。

我已经跟踪了所有英镑的 TwigView解释,但是它仍然不能正常工作,我缺少的

我还尝试使用 Twig 函数,但由于某些原因,它们似乎没有加载:

 
{{ 'FOO'|low }}

 

引发错误:


Fatal error: Call to undefined function low() in.. ./app/Plugin/TwigView/tmp/views/2d/4b/65accc...92.php on line 45

时间: 作者:

我发现问题了,我需要先在AppController中加载助手


class AppController extends Controller {
 public $viewClass = 'TwigView.Twig';
 public $ext = '.twig.tpl';
 public $helpers = array('Html', 'Form');
}

作者:
...