Il 09/09/2011 18:19, Paolo Tramontani ha scritto:

Ciao a tutti,

sto lavorando a un prodotto che non è un tema e quindi non definisce alcuno skin layer

definisce però dei contenuti con archetype e ho voluto impostare un template custom il widget di uno dei campi

ho fatto così:
Nello schema dell'archetype ho:

    atapi.FileField(

        'file',

...

        widget = atapi.FileWidget(

                        description='',

                        label=_(u'Label File', default=u'File'),

                        macro="custom_widget_template",

        ),

    ),

Ho sfruttato, cioè, l'attributo "macro" del FileWidget

Poi ho fatto il mio template (che ricalca quello originale definendo le macro "view", "edit", "search") e le modifica nei punti che mi interessano.

Il problema è:

come faccio a fargli trovare il template?

èse lo definisco una browser view con il nome "custom_widget_template" (con l'attributo template che punta al mio file) lo trova, ma lo trova come view e non come FSPageTemplate e quindi non potendo accedere all'attributo macros va in errore.

èse lo metto come browser resource ancora una volta lo trova ma non nel formato che vorrebbe

Insomma, sembra che debba essere per forza un file caricato sulle skins da qualche parte

Come posso fare a caricarlo sulle skins se non sono in un tema? Vorrei che venisse sempre visto indipendentemente dal tema che poi viene impostato...

Qualcuno ha qualche idea?

_______________________________________

Ing. Paolo Tramontani - Softone s.r.l.

email: [email protected] <mailto:[email protected]>

[email protected] <mailto:[email protected]>

phone: +39 338 9253741

_______________________________________



_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
Il fatto di definire un pacchetto "non tema" è fuorviante...non esiste nessuna differenza fra un prodotto e un prodotto tema. L'unica cosa che fa un tema per essere definito tale è definire uno skin layer e attivarlo con il file skins.xml nel generic setup. Uno skin layer è un raggruppamento e un ordinamento di skin (o "File System Directory View"). IOW puoi registrare delle directory senza per forza definire un nuovo skin layer:

in un file skins.zcml inserisci questo:
<cmf:registerDirectory name="miopacchetto_layer"/>

includi poi il file skins.zcml da un configure.zcml:
<include file="skins.zcml" />

poi crei una cartella "skins" e dentro di lei una cartella "miopacchetto_layer".

e nel genericsetup crei il file skins.xml con questo:

<?xml version="1.0"?>
<object name="portal_skins" allow_any="False" cookie_persistence="False">

<object name="miopacchetto_layer"
    meta_type="Filesystem Directory View"
    directory="mio.pacchetto:skins/miopacchetto_layer"/>

<skin-path name="*">
<layer name="miopacchetto_layer"
     insert-after="custom"/>
</skin-path>

</object>

Fatto! Nota il segnaposto * nel attributo name del tag skin-path: questo mi assicura che la cartella verrà inclusa in qualsiasi skin layer. Non sò se questo risolverà il tuo problema con il widget custom ma di sicuro ti aiuterà a registrare una "filesystem directory view" ;)

ciao,
Giacomo.

--
Giacomo Spettoli

twitter: http://twitter.com/giacomospettoli
linkedin: http://linkedin.com/in/giacomospettoli
company site: http://redomino.com
blog: http://www.spettoli.com

_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html

Rispondere a