Bookmark and Share
Document Actions

Risorse di tipo browser Zope 3
medio

Come personalizzare immagini e fogli di stile registrati come browser layer Zope 3

Zope 3 permette di registrare risorse di tipo browser, specialmente immagini e fogli di stile, con un namespace specifico. Per esempio, se registri una risorsa immagine con il nome wibble.gif, la risorsa di tipo browser avrà come URL http://yoursite.com/++resource++wibble.gif. Questo serve per far uscire la risorsa dal piatto namespace globale. Questi oggetti non hanno molta utilità da soli. Normalmente vengono installate in un registro come portal_css, portal_javascripts, o portal_kss, o usate in action o altri collegamenti.

Come tutti gli altri componenti browser Zope 3, le risorse sono registrate con una direttiva ZCML nel namespace browser che contiene, tra gli altri, un attributo layer. Il layer dovrebbe essere un'interfaccia.

Per fare un esempio, prendiamo il pacchetto plone.app.iterate. Nel suo file browser/configure.zcml, troverai la seguente definizione:

<browser:resource
        name="checkout.png"
        image="checkout.png"
        />

Questo definisce una risorsa, ++resource++checkout.png, che è usata nell'azione di check-out quando Iterate viene installato. Se volessimo cambiare quest'immagine piuttosto piacevole, in una colorata di un orrendo rosa, potremmo personalizzarla per il layer IExampleCustomization con un'immagine personalizzata chiamata ugly_checkout.png nella nostra directory browser/; per far ciò dovremo aggiungere ciò che segue nel browser/configure.zcml:

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    i18n_domain="example.customization">

    ...

    <browser:resource
        name="checkout.png"
        image="ugly_checkout.png"
        layer=".interfaces.IExampleCustomization"
        />

    ...

</configure>

Nota che senza l'attributo del layer, avremmo un conflitto di configurazione con l'originale definizione ++resource++checkout.png.

 
by Fabrizio Reale last modified 2008-12-12 19:36
Contributors: Alice Narduzzo