私の質問はこれに似ています:小枝:変数内の任意のトークンをテンプレートインクルードに置き換えます。
頼まれてから状況が変わってほしいと思います。
私はtwig.jsで作業しています。
リクエストをリッスンし、データを受信し、それらのデータを使用して小枝ファイルをコンパイルし、htmlを送り返すことをタスクとするサーバーがあります。
受信するデータは、テキストや色などを含むオブジェクトであり、コンテキストとして小枝ファイルに渡されます。
データでは、ユーザーはのようなプレースホルダーを送信できます。{foo}
これらのプレースホルダーをに置き換えたいと思い{% include 'partial.twig' %}
ます。
私の最初の試みはフィルターを使用する|replace
ことでしたが、それは処理されません:
{% set foo = foo|replace({'{foo}': '{% include "partial.twig" %}'}) %}
そのようなことをできるようにtwig.jsを拡張する可能性はありますか?
これは2つのステップで行う必要があります。最初に変数で部分をキャプチャし、次に変数を使用してプレースホルダーを置き換えます。
{%- set bar -%}
{% include "partial.twig" %}
{%- endset -%}
{% set foo = 'this is {foo}' %}
{% set foo = foo|replace({'{foo}': bar }) %}
{{ foo }}
注: {%- ... -%}
空白を削除するために使用されます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加