How to Override Templates from Third-Party Bundles
How to Override Templates from Third-Party Bundles¶
The Symfony community prides itself on creating and maintaining high quality bundles (see KnpBundles.com) for a large number of different features. Once you use a third-party bundle, you'll likely need to override and customize one or more of its templates.
Suppose you've installed an imaginary open-source AcmeBlogBundle in your
project. And while you're really happy with everything, you want to override
the template for a blog list page. Inside the bundle, the template you want to
override lives at
To override the bundle template, just copy the
from the bundle to
app/Resources/AcmeBlogBundle directory won't exist, so you'll need
to create it). You're now free to customize the template.
If you add a template in a new location, you may need to clear your
php bin/console cache:clear), even if you are in debug mode.
This logic also applies to any template that lives in a bundle: just follow the
You can also override templates from within a bundle by using bundle inheritance. For more information, see How to Use Bundle Inheritance to Override Parts of a Bundle.
Overriding Core Templates¶
Since the Symfony Framework itself is just a bundle, core templates can be
overridden in the same way. For example, the core TwigBundle contains a number
of different "exception" and "error" templates that can be overridden by
copying each from the
Resources/views/Exception directory of the TwigBundle
to, you guessed it, the
- « How to Use and Register Namespaced Twig Paths
- How to Render a Template without a custom Controller »
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.