2013-10-20 44 views
3

我正在嘗試在Symfony 2.3項目中激活Twig StringLoader Extension,但是無法正確使用yaml語法。在Symfony中激活StringLoader Twig Extension

這篇文章引用answer by Heyflynn上的帖子處理完全相同的問題,但提供了一個解決方案,只是不工作(對我來說)。

寫在我的應用程序/配置/ config.yml以下行只是給了我下面的異常:

# app/config/config.yml 
acme.twig.extension.loader: 
class:  Twig_Extension_StringLoader 
tags: 
    - { name: 'twig.extension' } 

給了我這樣的:

FileLoaderLoadException:無法導入資源」。 ../app/config/config.yml「從」.../app/config/config_dev.yml「。 (沒有擴展能夠加載「acme.twig.extension.loader」的配置(在.../app/config/config.yml中)。查找命名空間「acme.twig.extension.loader」,找到「框架「,」安全「,」枝條「,」monolog「,」swiftmailer「,」資產「,」學說「,」sensio_framework_extra「,」apy_data_grid「,」項目「,」acme_demo「,」web_profiler「 sensio_distribution「)

(我已經想了解在acme.twig.extension.loader極致 appearence並與項目包的名稱所取代,但一遍給我相同的異常。只需切斷它也不工作)。

請幫忙!

回答

5

Twig不是acme包的一部分,Twig是供應商包本身,因此錯誤是正確的。有沒有這樣的命名空間acme.twig.extension.loader

固定的代碼是:

# services.yml 
services: 
    twig.extension.stringloader: 
     class: Twig_Extension_StringLoader 
     tags: 
      - { name: twig.extension } 

這可以被添加到/app/config/config.yml每束中使用或將其添加到您的包文件夾成/Resources/config/services.yml僅限在某些捆綁中使用。

在樹枝模板

然後用它們爲:在Symfony的V2.5

{{ include(template_from_string(page.template)) }} 

上述工作對我來說