[Zope3-Users] Making site skins
    Dominik Huber 
    dominik.huber at perse.ch
       
    Wed Aug 17 02:24:16 EDT 2005
    
    
  
Johan Carlsson wrote:
>
> Ok, so far I figured out the following:
>
> 1. Resources gets registered as adapters in the Global Site Manager.
> 2. The adapter is registerd to adapt from the current layer interface 
> (defaults to IDefaultBrowserLayer) to the Interface interface 
> (strange, why is that so I wounder?)
The browser request gets directly marked by a skin interface.This is 
done by the http publication request factory:
(zope.app.publication.httpfactory.HTTPPublicationRequestFactory -> 
zope.app.publication.browser.setDefaultSkin)
Afterward the specific adapters such as views get invoked, because you 
register those to a dedicated request interface using the layer 
attribute. Attention they get looked up via the regular default-adapter 
mechansim and not as named adapters.
IMO you can register only a specific IDefaultSkin adapter to a site 
marked for example as ISkinableSite:
<adapter
    for='.ISkinableSite'
    provides='.IDefaultSkin'
    factory='.adapter_that_offers_a_skin_interface_selected_by_the_user' />
Within this adapter you can invoke the user preferences or something else.
Regards,
Dominik
    
    
More information about the Zope3-users
mailing list