макрос вызова ветки в другой папке - PullRequest
0 голосов
/ 28 января 2019

Я строю макрос, который содержит функцию.Функция в основном обрезает текст без слов.Моя проблема заключается в том, как вызвать этот макрос ветки, если он находится в другой папке.если это та же папка, то это легко.я просто импортирую имя ветки.{% 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 %}

Функция работает.Я думаю, что лучше делиться большим количеством кода, чтобы иметь лучшее представление о том, что я делаю.это моя структура проекта

...