ホーム>source

私はsymfony 2.8とtwig 1.2を使用しています。twigテンプレートにグローバル変数を設定する方法があるかどうか疑問に思っていました。中央の場所にある場合、すべてのtwigファイルに移動して値を変更するのは嫌です私は変数の値を設定して、それらがどのディレクトリにあるかに関係なく、twigファイルのいずれかでそれを使用できます。

今のところ、私は parameters.yml でキー値を定義していますファイル

<前>ウィズウィズ

そして、コントローラの中に私が持っています

<前>ウィズウィズ

次に小枝の中に表示し、

<前>ウィズウィズ

私はしたいと思います避ける コントローラーのサービスコンテナーを呼び出して parameters: client_name: 'naruto uzumaki' に直接アクセスするtwigファイルの値、どんな助けもいただければ幸いです

<?php use Symfony\Bundle\FrameworkBundle\Controller\Controller; class MyController extends Controller { public function editAction() { $var = $this->container->getParameter('client_name'); return $this->render("UserBundle:edit:edit.html.twig", array('var' => $var)); } }
あなたの答え
  • 解決した方法 # 1

    はい、できます。設定ファイルで:

    <前>ウィズウィズ

    次に、Twigで:

    <前>ウィズウィズ

    Googleでソリューションを検索するのを怖がらないでください。「twigグローバル変数」の最初の結果は次のとおりです。

    http://symfony.com/doc/current/cookbook/templating/global_variables.html

  • 解決した方法 # 2

    config.yml内でこれを試してください:

    <前>ウィズウィズ

    そして、あなたの小枝で、あなたはそれに簡単にアクセスできます:

    <前>ウィズウィズ

    また、参照サービスを試すことができます。ドキュメントを参照してくださいhttp://symfony.com/doc/2.8/cookbook/templating/global_variables.html#referencing-services

  • 解決した方法 # 3

    Twigがスタンドアロンで使用されている場合(つまり、プロジェクトの残りの部分がSymfonyでビルドされていない場合)の回答を追加します。

    拡張サンプル

    <前>ウィズウィズ

    小枝の構成:

    <前>ウィズウィズ

    テンプレート内:

    <前>ウィズウィズ

    トピックに関するTwigドキュメントへの参照

    # app/config/config.yml twig: globals: my_global_variable: '%client_name%'

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ swift - reloadRowに値の特定のIndexPathを取得します