Nel Taurisson wrote: > Thanks for the two really quick answers ! > > I don't know how I missed the template, looked for it for some time now ! > > Ok, now, just to see if I've caught it, if I define a new view name > section template like this it will use my custom template for my > engine and leave the default engine untouched : > > <view name="section frame"> > <element-type>section</element-type> > <engine>my-engine</engine> > <format-type>widget</format-type> > <template>nxthemes/jsf/widgets/my-section-frame.xml</template> > </view> > > > > Thanks again. > > Nel
Hi, I haven't tried in fact. The most intuitive solution would be to override the existing view. You can start experimenting with that, making sure that your contribution comes last during deployment. If you register a new engine you'll have to add some references to it in other places too (replacing 'default-engine' for instance) PS: you could also override the file nxthemes/jsf/widgets/my-section-frame.xml directly inside your package, this could be the simplest solution Regards /JM > > > > 2008/6/23 Jean-Marc Orliaguet <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>: > > Alexandre Russel wrote: > > Nel Taurisson wrote: > > > Hi all, > > I'm trying to write a new theme engine to change deeply > the rendering mechanism for an app we are building. But it > isn't really clear for me how (where) the theme rendering > really occurs. > > If anybody has any cues on that. For example, where are > the section tables (with class ending with SectionFrame) > rendered ? > > > One of the main idea of the theme engine is its use of URL. A > URL, uses a protocol, a host and a resource > (http://google.com/index.html) > The theme engine defined its own protocol (nxtheme) and when a > URL such as nxtheme://... is wanted it ask the: > org.nuxeo.theme.protocol.nxtheme.Connection an input stream to > fetch it. > To see it work, you could put a break point in this class at > the start of getInputStream() and see it fetch all it needs. > You can also put a break point in: > > org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletFactory.getFacelet(URL > url) > to see from where such URL are fetch. > > Restart JBoss before so the facelet are created and not fetch > from the cache. > > alex > > > > > Hi, > The rendering of Section Frames is not hardcoded in the theme > rendering engine at all. In fact it is defined in: > > nuxeo-theme-jsf/src/main/resources/OSGI-INF/nxthemes-jsf-contrib.xml > > > <extension target="org.nuxeo.theme.services.ThemeService" > point="views"> > > ... > > <view name="section frame"> > <element-type>section</element-type> > <format-type>widget</format-type> > <template>nxthemes/jsf/widgets/section-frame.xml</template> > </view> > > </extension> > > > It is possible to register custom views for a specific elements > (page, section, ...) and also you can register new rendering > engines, this is all done in XML, not in Java. > > I'm working on adding new parameters for the different template > engines (JSF, freemarker, ..), it will look like: > > <view name="section frame"> > <template-engine>jsf-facelets</template-engine> > <element-type>section</element-type> > <format-type>widget</format-type> > <template>nxthemes/jsf/widgets/section-frame.xml</template> > </view> > > /JM > > _______________________________________________ ECM mailing list [email protected] http://lists.nuxeo.com/mailman/listinfo/ecm
