我使用yii2与树枝模板引擎。它似乎工作,但我似乎无法使用任何的Html助手(yii/helpers/Html)的方法。
我的看法是扩展基础布局使用树枝延伸。 {% extends "@layouts/_base.twig" %}
我在_base.twig文件中包含'yii/helpers/Html'。 {{ use('yii/helpers/Html') }}
我使用{{ html.encode(this.title) }}
呈现在标题的页面标题和
{{ html.submitButton('Send Message', {
'class': 'button button--cta button--expand',
}) | raw }}
,试图在我看来呈现一个按钮,但既不似乎工作,我没有得到任何错误,只是没有渲染。
问题
我有正确的设置呢?我需要做什么才能在yii2树枝中呈现按钮?使用树枝非常新颖。
代码
index.twig
{% extends "@layouts/_base.twig" %}
{% block layout %}
...
{% set form = active_form_begin({
'id' : 'contact-us-form'
}) %}
...
<div class="row">
<div class="medium-8 medium-offset-2 columns">
{{ form.field(contact_us, 'full_name').textArea([{
'rows' : 6,
'placeholder' : 'Let us know if you have any questions...'
}]).label('Message', {
'class' : 'label--inline'
}) | raw }}
</div>
</div>
<div class="row">
<div class="medium-3 medium-offset-2 columns">
{{ html.submitButton('Send Message', {
'class': 'button button--cta button--expand',
}) | raw }}
</div>
</div>
{{ active_form_end() }}
</section>
{% endblock %}
_base.twig
{{ use('yii/helpers/Html') }}
{{ use('yii/widgets/ActiveForm') }}
{{ use('yii/web/JqueryAsset') }}
{{ this.beginPage() }}
<!DOCTYPE html>
<html lang="{{app.language}}">
<head>
{{ this.head() }}
<meta charset="{{app.charset}}">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link href='https://fonts.googleapis.com/css?family=Lato:300,400,700,900' rel='stylesheet' type='text/css'>
{{ html.csrfMetaTags() | raw }}
{{ register_asset_bundle('www/assets/AppAsset') }}
<title>{{ html.encode(this.title) }}</title>
</head>
<body>
{{ this.beginBody() }}
{% block header %}
{% include "@layouts/components/header.twig" %}
{% endblock %}
{% block layout %}
{% endblock %}
{% block footer %}
{% include "@layouts/components/footer.twig" %}
{% endblock %}
{{ this.endBody() }}
</body>
</html>
{{ this.endPage() }}
由于某种原因,这不再起作用。 @ hesselek的答案确实有效。 – clapas
@clapas谢谢,看起来像yii2-twig扩展v2.1.0语法已经改变。我更新了我的答案。 – cronfy