2014-09-04 66 views
14

Twig templating, bir bloğa içerik eklemek mümkün mü? Örneğin, aşağıdaki şablon dosyalarını ele alalım.Twig İçeriği Engellemek için Ekle

{% block css %} 
div a { color: #777; } 
{% endblock css %} 
{% block content %} 
<div><a>myWidget content here...</a></div> 
{% endblock content %} 

Bildirim blok css .. Ben çalışıyorum ne myWidget.html.twig

{% block css %} 
a { color: #fff; } 
body { background: #f00; } 
{% endblock css %} 

{% block content %} 

Some contents here... 
{% include 'myWidget.html.twig' %} 

{% endblock content %} 

inner.html.twig

<html> 
<head> 
    <style> 
    {% block css %}{% endblock css %} 
    </style> 
</head> 
<body> 
{% block content %}{% endblock content %} 
</body> 
</html> 

layout.html.twig Bunu başarmak için, layout.html.twig'in css bloğuna eklenen blok css'in her bir içeriğine sahip olmak istiyorum. Böylece, sonuç olmalıdır: birkaç içerik, ör bloklarına/Başa eklenen içerik eklemek için

{% block css %} 
    {{ parent() }} 
    div a { color: #777; } 
{% endblock css %} 

{% block content %} 
    <div><a>myWidget content here...</a></div> 
{% endblock content %} 

cevap

21

Bir PAGETITLE

base.html.twig

... 
<title>{% block title %}MyApp{% endblock %}</title> 
... 

eve .. teşekkürler olsun şablon uzanan taban düzeni

{% extends '::base.html.twig' %} 
{% block title 'Page1 - '~parent() %} {# prepend #} 
{% block title parent()~' - Page1' %} {# append #} 
+0

Bunu deneyeceğim @jperovic – Aldee

2

Kısayol: Bu hile yapmak gerekir

<html> 
<head> 
    <style> 
    a { color: #fff; } 
    body { background: #f00; } 
    div a { color: #777; } 
    </style> 
</head> 
<body> 
Some contents here... 
<div><a>myWidget content here...</a></div> 
</body> 
</html>