我遇到的问题是覆盖模板。这是我的简单代码
在commonHeader.html.twig
中{% block topsearch %}
<div class="col-md-6 col-sm-6 col-xs-6 col-lg-6 col-search">
<form action="" method="post" class="navbar-form navbar-left form-inline nav-form-search">
<div class="form-group col-md-12 form-search">
<label class="sr-only" for="search">Search</label>
<div class="input-group search-input-group col-md-12">
<input type="text" class="form-control input-search" id="search" placeholder="find...">
<div class="input-group-addon btn-search-addon">
<button type="submit" name="search" class="btn btn-icon-search">
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
</button>
<button type="submit" name="search" class="btn btn-text-search">SEARCH</button>
</div>
</div>
</div>
</form>
</div>
{% endblock %}
在文件commonPage.html.twig中,我喜欢这样:
{% block header %}
{{ include('::commonHeader.html.twig') }}
{% endblock %}
{% block content %}{% endblock %}
我有很多布局,从commonPage.html.twig扩展而来。 在每个布局上,搜索都有不同的动作网址,因此我需要覆盖它。
实施例。在myLayout.html.twig我想要这个
{% extends "::commonPage.html.twig" %}
<!-- start overriding search here -->
{% block topsearch %}
<div class="col-md-6 col-sm-6 col-xs-6 col-lg-6 col-search">
<form action="mynewactionurl" method="post" class="navbar-form navbar-left form-inline nav-form-search">
<div class="form-group col-md-12 form-search">
<label class="sr-only" for="search">Search</label>
<div class="input-group search-input-group col-md-12">
<input type="text" class="form-control input-search" id="search" placeholder="find...">
<div class="input-group-addon btn-search-addon">
<button type="submit" name="search" class="btn btn-icon-search">
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
</button>
<button type="submit" name="search" class="btn btn-text-search">SEARCH</button>
</div>
</div>
</div>
</form>
</div>
{% endblock %}
{% block navigationleft %}
{% endblock %}
问题是我无法覆盖myLayout.html.twig中的搜索块? 谢谢你的帮助!
答案 0 :(得分:1)
然后你只需要相应地修改布局,我认为它是因为你需要在主枝中定义你的块,我不知道枝条引擎如何渲染包含但是在主枝中定义你的块然后包括什么你需要,不要包括块,然后尝试覆盖它们。这就是我们如何定义base.html.twig。我们所有的块都在里面,然后我们覆盖它们。