-
1. Re: Seam Themes based on domain?
javabr May 22, 2007 10:13 PM (in response to tim_perrett)tim,
take a look on trinidad sample seam-cvs.
There is a tag on template.xml (<trh:styleSheet />) that can help you .. perhaps changing something there or intersepting some event overriding it.
rgds
Leo -
2. Re: Seam Themes based on domain?
gavin.king May 24, 2007 8:41 AM (in response to tim_perrett)It should be very easy to write a seam page action that checks the domain, and calls themeSelector.setTheme(). Map it to the view id "*".
-
3. Re: Seam Themes based on domain?
tim_perrett May 24, 2007 8:46 AM (in response to tim_perrett)Ok sounds like the kind of thing I was thinking of! Excellent.
So basicly, it will get called on every request due to the view id "*" in web.xml (should it be web.xml?)
Many thanks
Tim -
4. Re: Seam Themes based on domain?
gavin.king May 24, 2007 8:57 AM (in response to tim_perrett)In pages.xml, of course!
-
5. Re: Seam Themes based on domain?
tim_perrett May 24, 2007 9:22 AM (in response to tim_perrett)LOL - sorry now that was a silly mistake!!!
Cheers
Tim
PS: i'll do the code and post it back up when its ready :) -
6. Re: Seam Themes based on domain?
tim_perrett May 25, 2007 5:32 AM (in response to tim_perrett)Just thinking aloud - If i needed each theme to use a different XHTML file within seam, as perhaps the HTML was different, is this even possible?
How does seam know to look for the view files? I am guessing there is a paramater i could set somwhere to dynamically point it at a different set of files?
Cheers, and appologies for these newbie questions!
Tim -
7. Re: Seam Themes based on domain?
avbentem May 25, 2007 6:09 AM (in response to tim_perrett)"tim_perrett" wrote:
If i needed each theme to use a different XHTML file within seam, as perhaps the HTML was different, is this even possible?
Yes. Your theme is basically a property file. It could set any property with any name you like. Often it would just be css and template (which you could also name "stylesheet" and "layout", or whatever you like). For example, assuming sub-folders stylesheet and layout:css stylesheet/my-stylesheet.css template /layout/my-layout.xhtml
The properties can be referenced in your views. And when you set up your views to use a template, like<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://jboss.com/products/seam/taglib" ... template="#{theme.template}">
then Seam will use the template you've specified in the property file for your specific theme.
A side note: when using subfolders, such as /admin/admin.xhtml for your admin view, then you cannot simply use<link href="#{theme.css}" rel="stylesheet" type="text/css" />
For the admin pages, the above would make the browser try to find /admin/stylesheet/my-stylesheet.css instead of /stylesheet/my-stylesheet.css. Instead, use:<link href="#{facesContext.externalContext.requestContextPath}/#{theme.css}" rel="stylesheet" type="text/css" />
Good luck,
Arjan. -
8. Re: Seam Themes based on domain?
tim_perrett May 25, 2007 6:26 AM (in response to tim_perrett)Ok great, so im guessing i can also use the themes to do it for any templae, not just the layout so i could also do:
<s:decorate template="#{theme.some.property}"> <ui:define name="label">Zip:</ui:define> #{hotel.zip} </s:decorate>
Brilliant!
Otherwise, within the seam framework is there the ability to use view helpers? View orientated functionality? This wouldnt really sit in the actions would it?
Cheers