Bunu yapmanın bir yolu var mı? Bir blog makalesi çıkaran bir şablonum var.Twig, ebeveynin bloğunu bir kez genişleten şablon dahil
Şimdi endeksi sayfada ben döngü için bu şablonu dahil ederek 10 makaleleri gösterecek ve sayfayı göstermek üzerine ben yalnızca bir tanesini gösterir.
endeksi:
{% block stylesheets %}
{# some stylesheets here #}
{% endblock %}
{% for article in articles %}
{% include VendorBundle:article.html.twig with { 'article': article } %}
{% endfor %}
gösterisi:
{% block stylesheets %}
{# some stylesheets here #}
{% endblock %}
{% include VendorBundle:article.html.twig with { 'article': article } %}
Şimdi article.html.twig otomatik olarak dahil şablonları {% block stylesheets %}
bir şey eklemek yapmak için bir yolu var mı? Mümkünse, for
döngüsünü kullanırken bunu 10 kez eklemesini nasıl engellerim?
"Parçalar" şablonlarını (dahil edilmek için kullanılan şablonlar) yapmaya çalışıyorum, kullandıkları stil sayfalarını tanımlar ve bunları sayfalara "enjekte eder".
{# template.html.twig #}
{% block article_styles -%}
{{ parent() }}
<link rel=stylesheet href=...>
{%- endblock %}
{# ... #}
{# index.html.twig #}
{% block stylesheets -%}
{% block article_styles '' %}
{%- endblock %}
{% for ... -%}
{% include VendorBundle:template.html.twig with {'article': article} %}
{%- endfor %}
Düzenleme:: {{ parent() }}
eklendi, bu blok zaten her içeriği yazdırır
Anladığım kadarıyla, ana nesneyi genişletmeye çalışmamanız (makale, dizin veya gösterim kapsamı değil), ancak bloğu içeren şablon bloğudur. Bu doğru mu? –
Evet, bu doğru, makale hiçbir şey uzatmıyor. –
Sadece bir sayfa "parçası", eğer buna benzer şekilde diyebilirsem, "makale" nesnesini alır ve "çizer" (küçük, içerik, resimler, etiketler, yazar, tarih vb.). –