我很難覆蓋FOS用戶包爲Symfony2使用的標籤。如何覆蓋FOS用戶包表單標籤
我已經覆蓋Form類,但沒有像「setOption」這樣的元素的選項,只有getters。
我可以刪除一個元素,然後再添加一個合適的標籤,但這看起來像是一種矯枉過正。有沒有什麼好的方式來覆蓋表單元素的選項,或者只是翻譯鍵,也許呢?
我很難覆蓋FOS用戶包爲Symfony2使用的標籤。如何覆蓋FOS用戶包表單標籤
我已經覆蓋Form類,但沒有像「setOption」這樣的元素的選項,只有getters。
我可以刪除一個元素,然後再添加一個合適的標籤,但這看起來像是一種矯枉過正。有沒有什麼好的方式來覆蓋表單元素的選項,或者只是翻譯鍵,也許呢?
您不需要覆蓋表單類。
複製/粘貼vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/translations/FOSUserBundle.xx.yml
文件在您app/Resources/translations
目錄(具有相同的目錄結構和文件名相同),並重新翻譯,以方便您使用。
編輯:正如@ mario-johnathan所說,重寫的翻譯不是捆綁繼承的一部分。見http://symfony.com/doc/current/cookbook/bundles/override.html#translations官方文檔
前面已經說了,你可以把你的翻譯文件:
app/Resources/translations
但是,如果你在你的父包(src/MyAppBundle/Resources/translations
)覆蓋它或以任何其它捆綁,確保負載重寫的包在你的內核後,你的包:
public function registerBundles()
{
$bundles = [
...
new FOS\UserBundle\FOSUserBundle(),
new MyAppBundle\MyAppBundle(),
...
];
...
}
真棒,謝謝老兄! –
其實我不得不將它複製到應用程序/ Resources/FOSUserBundle/translation,而不是我的捆綁軟件目錄中,以使其工作, –
是的你是對的! – AlterPHP