2013-06-12 148 views
1

我試圖通過在應用程序/ Resources /目錄中包含新佈局來覆蓋我的包的佈局來覆蓋第三方包的佈局模板,如Symfony2 book section中所示;然而,我發現了以下異常:Symfony2覆蓋包模板「資源被資源隱藏」時出錯?

「...... path_to_my_app /應用/資源/ FOSUserBundle /視圖/ layout.html.twig」資源由資源從‘MyVendorMyBundle’衍生束隱藏。創建一個「... path_to_my_app/app/Resources/MyVendorMyBundle/views/layout.html.twig」文件來覆蓋該資源。

特別是,我想用我的包中的那個覆蓋FOSUserBundle佈局。我遵循bundle's documentation中顯示的步驟,這與Symfony書中的步驟沒有什麼不同。

什麼可能是這種例外的原因?我怎樣才能使它工作?

我試圖把我的包的佈局放在應用程序/ Resources/MyVendorMyBundle/views /中,如上面的異常消息所示,但是如果我這樣做,只有MyBundle的佈局被讀取並返回,而不是用於FOSUserBundle擴展它。

回答

3

原來,之前我已成立MyBundle爲FOSUserBundle的孩子一樣shown in the documentation開發商(無我注意到...):

// src/Acme/UserBundle/AcmeUserBundle.php 
namespace Acme\UserBundle; 
use Symfony\Component\HttpKernel\Bundle\Bundle; 

class AcmeUserBundle extends Bundle 
{ 
    public function getParent() 
    { 
     return 'FOSUserBundle'; 
    } 
} 

上面明顯有(隱藏)的重新引發衝突在應用程序/ Resources/FOSUserBundle/views /文件夾中定義佈局模板。我剛從上面顯示的bundle類中刪除了getParent()方法來解決這個問題。