私はテンプレートから渡された変数内のトークンをコントローラから置き換え、別のテンプレートのインクルードを置き換えようとしています。概念的ような何か:Twig:変数内の任意のトークンをテンプレートに置き換えます。
// controller
$post->content = "<p>Here's a short post that an enduser wrote. The enduser wants
product info to appear here: %product_info_here%. Over and out.</p>";
// Twig template
<div class="content">
{{ post.content
| replace({ '%product_info_here%': include('product_info.html.twig') }) }}
</div>
小枝コードを見て開始してからは、それが彼らのコンテキストへのアクセスを持っていないフィルターのように見えるので、このを実行することができません。この機能は既に存在していますか?そうでない場合は、それを追加するための小枝アーキテクチャの正しい場所はどこですか?
UPDATE:
これは、アプリケーションが部分的に注入する場所を決定するために、エンドユーザーを有効にするためです。コントローラーにこの例を載せてみましたが、簡潔にするためでした。実際にはリテラルトークンはエンドユーザが入力したデータベースのPostレコードの一部になり、投稿コンテンツはTwigテンプレートに渡されます。 Twigテンプレートでトークンのポストコンテンツを解析し、部分的に注入したいと思います。
ありがとうございます;私の質問への更新を見てください。 – yitznewton
私はまっすぐ進む方法を知らないが、引数としてpost.contentを渡す組み込みコントローラーを使用してこれを行うことができるはずです。 – Cerad