Eu tenho um problema está substituindo o modelo. Aqui está o meu código simples
Em 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 %}
No arquivo commonPage.html.twig, eu faço assim:
{% block header %}
{{ include("::commonHeader.html.twig") }}
{% endblock %}
{% block content %}{% endblock %}
E tenho muitos layouts que se estendem do commonPage.html.twig. E em cada layout, a pesquisa tem um URL de ação diferente, por isso preciso substituí-lo.
Ex. em myLayout.html.twig Eu quero gostar disso
{% 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 %}
O problema é que não consigo substituir o bloco de pesquisa em myLayout.html.twig? Obrigado pela sua ajuda!
Respostas:
1 para resposta № 1Então você só precisa corrigir o layout de acordo,Eu acho que é porque você precisa definir seus blocos no galho principal, não sei como o mecanismo do galho processa as inclusões, mas defina seu bloco no galho principal e depois inclua o que você precisa, não inclua blocos e tente substituí-los . é assim que nosso base.html.twig é definido. todos os nossos blocos estão dentro, então nós os substituímos.