Grav CMSを使用して、twigテンプレートからプロトコル(http:またはhttps :)なしでURLを出力する必要があります。Grav CMS用のTwigテンプレートでURLからプロトコルをトリミングする方法
これを行うにはどのような方法が最適ですか?
Twigは、正規表現を使用するMATCH function for comparisonsと、正規表現を使用しないREPLACE functionを提供します。
したがって、次のような文の場合、私は複雑をやって立ち往生していそうです:
`
{% 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()) }}" />
。