![]() |
|
Code snippets for symfony 1.x |
|
This will allow you to use multiple themes for symfony, each with it's own templates and stylesheets.
Grab the code at GitHub: https://github.com/acetous/Symfony-Themed
The templates have to be stored in sf_root_dir/themes/application/themename/module. A theme named default has to be present. Layouts have to be placed in sf_root_dir/themes/themename/application.
Example:
sf_root_dir/themes/default/frontend/layout.php is the new place for your layoutsf_root_dir/themes/default/frontend/post/indexSuccess.php is the new place for the success-template when calling the index-action on the post-moduleCreate stylesheets for your theme. You'll need to create one for each application.
Example:
default-frontend.cssdefault-backend.cssPlease include this stylesheets in your themes root directory. They need to be copied into the /web/css folder.
All themes (except default) will load the default-templates if a custom one is not found. This way you just need to create the template files you want to alter.
Apart from that the default-stylesheet will be included if a custom one cannot be found.
lib directory (the task to lib/task and filter to lib/filter).filters.yml. Add one filter for the themes logic:
<pre>rendering: ~
security: ~
themes:
class: ThemedFilter
cache: ~
execution: ~
</pre>Just run the ./symfony themed:setup task to setup all themes or ./symfony themed:setup name to setup a specific theme.
Comments on this snippet
hello,acetous: I want create a select options for users to change theme which they want show, How to do?
Good work acetous! I work very fine! thanks
Hi acetous! Thanks for the snippet. Want to ask what about caching? Did you test it?