{"issue":{"state":"closed","created_at":"2011-11-29T18:52:54Z","updated_at":"2011-11-29T18:53:03Z","user":{"gravatar_id":"256406243346b9253f8610fb1d1e05f6","id":1215373,"url":"https://api.github.com/users/importer","avatar_url":"https://secure.gravatar.com/avatar/256406243346b9253f8610fb1d1e05f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"importer"},"comments":7,"body":"The new themes feature is a great idea and in principle makes theme-ing and skinning multiple websites in one installation easier. But in my view there is one drawback to the way themes are implemented in the beta: _pagelayouts cannot be specified and used system wide anymore._\n\nWhen you have multiple website roots (say, for 10 different languages) that share the same layout but have different CSS markup, you will want to specify different themes to make the system load different CSS files for each root, BUT you want to reuse page layouts. Currently, each theme has its own isolated set of layouts and thus you are forced to duplicate identical layouts between themes. This will, in turn, will lead to unnecessary maintenance. Especially when with, say, 10 website roots that each have, say, 4 layouts = 40 layouts(\n\n![](), where originally there were only 4 needed. In our daily practice of implementing TL (sorry: contao ;)) this situation is very common, for example: \n\n# company websites with different company labels having only different visuals and /or colors\n# user group websites where different target groups have slightly different styling variations\n# etc..\n\nAm I missing something about how to use themes, or is there another way to look at this situation?\n\nKeep up the good work)\n\nMichiel\nID interactive\nContao partner Netherlands\n\n\nThis effectively forces you to duplicate layouts between themes, even when the only difference between themes is the CSS files loaded (very common situation). \nPossible solutions:\n\n# don't bind themes to layouts but bind\n\n to pages the same way layouts are bound to pages. This instead of binding layouts to themes, and then binding layouts\n# make page layouts\n\n--- _Originally created by michiel on May 19th, 2010, at 05:11pm (ID 1997)_","assignee":null,"id":2390133,"number":1997,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"labels":[{"name":"backend","color":"e6e6e6","url":"https://api.github.com/repos/contao/import/labels/backend"},{"name":"Feature","color":"4183c4","url":"https://api.github.com/repos/contao/import/labels/Feature"}],"title":"Themes: pagelayouts not reusable between themes","closed_at":"2011-11-29T18:53:03Z","html_url":"https://github.com/contao/import/issues/1997","url":"https://api.github.com/repos/contao/import/issues/1997","milestone":null},"action":"created","comment":{"created_at":"2011-11-29T18:52:58Z","updated_at":"2011-11-29T18:52:58Z","user":{"gravatar_id":"256406243346b9253f8610fb1d1e05f6","id":1215373,"url":"https://api.github.com/users/importer","avatar_url":"https://secure.gravatar.com/avatar/256406243346b9253f8610fb1d1e05f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"importer"},"body":"Hi Leo,\n\nOfcourse, you're right and nothing has really changed: one could simply create 1 theme and use it as the 'master' theme for everyting. I guess had a different preconception about what a 'theme' would incorporate for Contao: I wasn't expecting it to also incorporate functionality (modules) and positioning (layouts), just templates and CSS (appearance), so you would be able to easily switch _appearance_ of a site by changing theme and don't touch its functionality and positioning.\n\nCurrently, at ID interactive we are also using a home made extension that allowed us to create 'themes' that do just that. At the moment, I'm trying to figure out if Contao themes could replace our custom 'themes' extension in daily practice. In the current form, i guess it cannot. Ofcourse I'm not saying that it _should_, I'm just trying to see if we could get best of both worlds ;)\n\nI guess what I'm actually talking about here is **theme-variants** or **skins**, with a theme defining functionality, layout, (default) styles and templates (in effect a 'website type'). And then have theme-variants override default theme CSS and maybe even templates.\n\nAgain, it's just a thought, but in my opinion theme-variants is very common practice and Contao should be able to easily support it.\n\nThanks for the hard work!\n\n--- _Originally created by michiel on May 20th, 2010, at 08:43am_","id":2941446,"url":"https://api.github.com/repos/contao/import/issues/comments/2941446"}}