2017-09-14 17 views
0

phpの関数の中でtwigテンプレートを正しく指定するにはどうすればよいですか?テンプレートのtwigのパスが見つかりません

src 
    User 
    EmailBundle 
      DependencyInjection 
      Resources 
       views 
        Default 
         email-base.html.twig 
      Services 

そして、何私がしようとしています:

$template = $this->emailService->getTemplate(
     'UserEmailBundle:Default/email-base.html.twig' 
) 

と作業されていないが、それはテンプレートを見つけることができないエラーを表示し、私は次のような構造を持っています。私は間違って何をしていますか?

答えて

2

あなたのバンドルがEmailBundleありませんUserEmailBundleので、変更してみてくださいありがとう: UserEmailBundle:Default/email-base.html.twigもう一度この質問を見て

EmailBundle:Default/email-base.html.twigに、多分私は間違っている、あなたがしてみてくださいでした:

UserEmailBundle:Default:email-base.html.twigを?

1

@Email/Default/email-base.html.twig、あるいはEmailBundle:Default:email-base.html.twigです。

この設定を仮定:

src 
    User 
     EmailBundle 
      EmailBundle.php 
      Resources 
       views 
        Default 
         email-base.html.twig 

はあなたcomposer.jsonを確認し、それは次のようになります。

// ... 

"autoload": { 
    "psr-4": { 
     "AppBundle\\": "src/AppBundle", "User\\": "src/User" 
    }, 
    "classmap": [ "app/AppKernel.php", "app/AppCache.php" ] 
}, 

// ... 

はまた、あなたがAppKernel.phpであなたのバンドルを登録していることを確認します。

// ... 
$bundles = [ 
    // ... 
    new \User\EmailBundle\EmailBundle(), 
    new AppBundle\AppBundle(), 
]; 
// ... 
+0

私もEmailBundle.phpだと思っていましたが、ソナタはそのような名前空間とバンドル名を使用していました。 s UserEmailBundle.php – kunicmarko20

+0

@ kunicmarko20うーん、私はちょうどプロジェクトを再作成してテストしました。うまくいきました。 – Pete

+0

私はBundleの名前について話していました。情報がないので、UserEmailBundleでもEmailBundleでもいいです。 – kunicmarko20

関連する問題