Мне нужно вывести URL-адрес без протокола (http: или https:) из шаблона ветки с использованием Grav CMS.
Как лучше всего это сделать?
Twig предоставляет функцию MATCH для сравнения, которая использует регулярное выражение, и REPLACE, которая не использует регулярное выражение.
Поэтому кажется, что я застрял с выполнением запутанного оператора if, такого как:
`
{% if url starts with 'https:' %}
{{ url|replace('https:') }}
{% else %}
{% if url starts with 'http:' %}
{{ url|replace('http:') }}
{% else %}
{{ url }}
{% endif %}
`
Есть ли лучший способ совершить этот подвиг? Если я помещу этот код в макрос, как я смогу использовать макрос? Вот полный макрос:
`
{% macro fixUrl(url) %}
{% if url %}
{% if url starts with 'https:' %}
{{ url|replace('https:') }}
{% else %}
{% if url starts with 'http:' %}
{{ url|replace('http:') }}
{% else %}
{{ url }}
{% endif %}
{% endif %}
{% endif %}
{% endmacro %}
`
И я вызываю макрос, например: <meta property="og:url" content="{{ self.fixUrl(page.url()) }}" />
Я получаю пустую строку, когда я вызываю этот макрос.