Я строю макрос, который содержит функцию.Функция в основном обрезает текст без слов.Моя проблема заключается в том, как вызвать этот макрос ветки, если он находится в другой папке.если это та же папка, то это легко.я просто импортирую имя ветки.{% import 'croptext.twig' as cropText %}
Но так как этот файл содержит полезную функцию, все шаблоны будут вызывать его, поэтому лучше поместить его в специальную папку, такую как «tool» или «filter».Но у меня все еще есть способ назвать это какой-нибудь помощью?
код макроса
{% macro crop_text(text, len) %}
{% if text | length < len %}
{{ text }}
{% else %}
{% set break = false %}
{% set croppedParagraph = '' %}
{% set paragraph = text | split(' ') %}
{% set totalLength = 0 %}
{% for word in paragraph if not break %}
{% if totalLength >= len %}
{% set break = true %}
{% else %}
{% set totalLength = totalLength + 1 + word | length %}
{% set croppedParagraph = croppedParagraph ~ ' ' ~ word %}
{% endif %}
{% endfor %}
{{ croppedParagraph ~ ' ...' }}
{% endif %}
{% endmacro %}
Функция работает.Я думаю, что лучше делиться большим количеством кода, чтобы иметь лучшее представление о том, что я делаю.это моя структура проекта