तो, मेरे पास 3 टेम्पलेट्स हैं: 1. कुछ पैरा के साथ एम्बेड विजेट, 2. प्रत्येक पृष्ठ के लिए वैश्विक लेआउट, 3. एकल पृष्ठ।TWIG - एम्बेड एम्बेड के अंदर ब्लॉक को ओवरराइड कैसे करें, लेकिन बाल टेम्पलेट में?
मैं लेआउट में ब्लॉक बनाना चाहता हूं जो पेज द्वारा ओवरराइड किया जाएगा, लेकिन जब मैं इस ब्लॉक को एम्बेड विजेट के अंदर रखना चाहता हूं, तो यह काम नहीं करता है।
file: Widget/awesome.html.twig
(विजेट एम्बेड)
<div id="{{id|default('awesomeWidget')}}">
{% block widget_body %}
{% endblock %}
</div>
file: Layout/layout.html.twig
{% block layout_body %}
{% embed 'AcmeFoobarBundle:Widget:awesome.html.twig' with
{'id':'myAwesomeWidget'} only %}
{% block widget_body %}
{% block I_WANT_TO_OVERRIDE_THIS %}
{% endblock %}
{% endblock %}
{% endembed %}
{% endblock %}
file: Portal/page.html.twig
{% extends 'AcmeFoobarBundle:Layout:layout.html.twig' %}
{% block I_WANT_TO_OVERRIDE_THIS %}
Hello World
{% endblock %}
इस इस विचार किसी भी तरह ऐसा करना संभव है?
आप प्रतिभाशाली हैं! – user3383675
क्या यह "ओवरराइड WidgetPart: ओवरराइड WidgetPart" वास्तव में ned है? मैंने इसे एक ही समस्या पर लागू किया और उस भाग को हटा दिया, और यह काम करता है। धन्यवाद :) – Diguin
@ डिगुइन को अंतिम परिणाम के संदर्भ में इस स्निपेट में उनके लिए कोई आवश्यकता नहीं है लेकिन विचार आपके टेम्पलेट में दिखाई देने के लिए अवांछित चर को प्रतिबंधित करना है। विचार करें कि आपके पास अलग-अलग चर के गुच्छा हैं। नाम टकराव से बचने और डीबगिंग को सरल बनाने के लिए आप उन्हें अपने टेम्पलेट तक पहुंचने से रोक देंगे। '{{}} केवल 'का उपयोग करना हमेशा एक अच्छा अभ्यास है। – ivkremer