File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -365,17 +365,26 @@ You can even give the block default content. See
365365:ref: `Passing HTML to Components via Block <embedded-components >`
366366for more info.
367367
368- The only limitation when defining contents inside a component using the HTML syntax
369- is that you cannot import macros using the ``_self `` keyword. You must always use
370- the full template path:
368+ Using macros in Components
369+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
370+
371+ Defining contents inside a component works great, but what if you want to
372+ use a macro inside a component? Good news: you can! But there's a catch:
373+ you cannot import macros using the ``_self `` keyword. Instead, you need to
374+ use the full path of the template where the macro is defined:
371375
372376.. code-block :: html+twig
373377
378+ {% macro message_formatter(message) %}
379+ <strong>{{ message }}</strong>
380+ {% endmacro %}
381+
374382 <twig:Alert>
375383 {# ❌ this won't work #}
376384 {% from _self import message_formatter %}
385+
377386 {# ✅ this works as expected #}
378- {% from 'some/ path/template.html.twig' import message_formatter %}
387+ {% from 'path/of/this /template.html.twig' import message_formatter %}
379388
380389 {{ message_formatter('...') }}
381390 </twig:Alert>
You can’t perform that action at this time.
0 commit comments