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

Reply via email to