2017-09-14 109 views
0

我有一個關於如何正確指定PHP中的函數內的樹枝模板的問題?我有以下結構:找不到模板樹枝路徑

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.twigEmailBundle: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