yii2细枝子扩展,父布局输出两次
我是小树枝初学者。我目前正在尝试使用Twig设置Yi2布局 我有三根树枝锉 小枝yii2细枝子扩展,父布局输出两次,yii2,twig,Yii2,Twig,我是小树枝初学者。我目前正在尝试使用Twig设置Yi2布局 我有三根树枝锉 小枝 {{ this.beginPage() }} <!DOCTYOE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="{{ app.language }}"> <head> <meta charset="{{ app.charset }}" />
{{ this.beginPage() }}
<!DOCTYOE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ app.language }}">
<head>
<meta charset="{{ app.charset }}" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ html.encode(this.title) }}</title>
{{ this.head() }}
{{ html.csrfMetaTags() | raw }}
</head>
<body>
{{ this.beginBody() }}
{% block body %}{% endblock %}
{{ this.endBody() }}
</body>
</html>
{{ this.endPage() }}
从我的Yii2控制器渲染后返回$this->render('index')代码>然后输出非常奇怪的结果:
<!DOCTYOE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<meta name="csrf-param" content="_csrf">
<meta name="csrf-token" content="z_y1CPsfUBwHE6uC3dHg225wVQ8i2-eGhZa9f55Qrm39nYI6gk0TdVJ6nruf5q6WJAcCaUGolPWo9fxM_TrNHA==">
</head>
<body>
<div class="cp">
<hr />
<!DOCTYOE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<link href="/mlaxology/yii2/workspace/projects/pawscms/web/assets/903cba57/css/style.css" rel="stylesheet">
<meta name="csrf-param" content="_csrf">
<meta name="csrf-token" content="z_y1CPsfUBwHE6uC3dHg225wVQ8i2-eGhZa9f55Qrm39nYI6gk0TdVJ6nruf5q6WJAcCaUGolPWo9fxM_TrNHA==">
</head>
<body>
<div class="cp">
this is header <hr />
</div>
</body>
</html>
</div>
</body>
</html>
经过几次调试。。。发生这种情况的原因是重新打印content
,因此我使用{%if content定义%}{{content | raw}}{%else%}
包装临时修复
有没有更好的方法来解决这个问题?查看yii2
的列表,似乎您需要将void
环绕this.beginPage()
等等。在一个独立的细枝环境中,您尝试做的当然是可能的。请参见回复@DarkBee。我尝试过使用void
进行包装,但遇到了相同的问题。我想可能是我的Yii2结构问题。请注意它的
,不要
,谢谢你指出这个拼写错误,我刚刚纠正了。但是问题还是发生了哈哈。无论如何,非常感谢你的回复。
{% extends '_layouts/cp.twig' %}
{% block header %}this is header{% endblock %}
<!DOCTYOE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<meta name="csrf-param" content="_csrf">
<meta name="csrf-token" content="z_y1CPsfUBwHE6uC3dHg225wVQ8i2-eGhZa9f55Qrm39nYI6gk0TdVJ6nruf5q6WJAcCaUGolPWo9fxM_TrNHA==">
</head>
<body>
<div class="cp">
<hr />
<!DOCTYOE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<link href="/mlaxology/yii2/workspace/projects/pawscms/web/assets/903cba57/css/style.css" rel="stylesheet">
<meta name="csrf-param" content="_csrf">
<meta name="csrf-token" content="z_y1CPsfUBwHE6uC3dHg225wVQ8i2-eGhZa9f55Qrm39nYI6gk0TdVJ6nruf5q6WJAcCaUGolPWo9fxM_TrNHA==">
</head>
<body>
<div class="cp">
this is header <hr />
</div>
</body>
</html>
</div>
</body>
</html>
{% if content is defined %}{{ content | raw }}{% else %}
{{ void(this.beginPage()) }}
<!DOCTYOE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ app.language }}">
<head>
<meta charset="{{ app.charset }}" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ html.encode(this.title) }}</title>
{{ this.head() }}
{{ html.csrfMetaTags() | raw }}
</head>
<body>
{{ this.beginBody() }}
{%- block body %}{% endblock %}
{{ this.endBody() }}
</body>
</html>
{{ void(this.endPage()) }}
{% endif %}