@@ -11,6 +11,7 @@ Templates
1111---------
1212
1313For information on overriding templates, see
14+
1415*:ref: `overriding-bundle-templates `.
1516*:doc: `/cookbook/bundles/inheritance `
1617
@@ -31,6 +32,7 @@ Controllers
3132Assuming the third-party bundle involved uses non-service controllers (which
3233is almost always the case), you can easily override controllers via bundle
3334inheritance. For more information, see:doc: `/cookbook/bundles/inheritance `.
35+ If the controller is a service, see the next section on how to override it.
3436
3537Services & Configuration
3638------------------------
@@ -69,7 +71,7 @@ Secondly, if the class is not available as a parameter, you want to make sure th
6971class is always overridden when your bundle is used, or you need to modify
7072something beyond just the class name, you should use a compiler pass::
7173
72- // src/Acme/FooBundle /DependencyInjection/Compiler/OverrideServiceCompilerPass.php
74+ // src/Acme/DemoBundle /DependencyInjection/Compiler/OverrideServiceCompilerPass.php
7375 namespace Acme\DemoBundle\DependencyInjection\Compiler;
7476
7577 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
@@ -94,7 +96,11 @@ like adding a method call - you can only use the compiler pass method.
9496Entities & Entity mapping
9597-------------------------
9698
97- In progress...
99+ Due to the way Doctrine works, it is not possible to override entity mapping
100+ of a bundle. However, if a bundle provides a mapped superclass (such as the
101+ ``User `` entity in the FOSUserBundle) one can override attributes and
102+ associations. Learn more about this feature and its limitations in
103+ `the Doctrine documentation `_.
98104
99105Forms
100106-----
@@ -116,7 +122,22 @@ Validation metadata
116122
117123In progress...
118124
125+ .. _override-translations :
126+
119127Translations
120128------------
121129
122- In progress...
130+ Translations are not related to bundles, but to domains. That means that you
131+ can override the translations from any translation file, as long as it is in
132+ :ref: `the correct domain <translation-domains >`.
133+
134+ ..caution ::
135+
136+ The last translation file always wins. That mean that you need to make
137+ sure that the bundle containing *your * translations is loaded after any
138+ bundle whose translations you're overriding. This is done in ``AppKernel ``.
139+
140+ The file that always wins is the one that is placed in
141+ ``app/Resources/translations ``, as those files are always loaded last.
142+
143+ .. _`the Doctrine documentation` :http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#overrides