[Plone-IT] R: custom template per fields in archetypes

Paolo Tramontani ptramontani a racine.ra.it
Lun 12 Set 2011 07:46:05 UTC


Grazie Giacomo,

era esattamente quello che mi serviva e che non sapevo di poter fare, ovvero
infilare quell’asterisco che mi consentisse di piazzare il mio skin folder
in tutti gli skin_layer in modo da averlo disponibile indipendentemente dal
tema selezionato.

 

Ora provo subito, 

per ora grazie mille

 

 

_______________________________________

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

email:     <mailto:ptramontani a racine.ra.it> ptramontani a racine.ra.it

              <mailto:ptramontani a softone.it> ptramontani a softone.it

phone: +39 338 9253741

_______________________________________

 

  _____  

Da: plone-plone-it-bounces a lists.plone.org
[mailto:plone-plone-it-bounces a lists.plone.org] Per conto di Giacomo
Spettoli
Inviato: sabato 10 settembre 2011 1.37
A: La lista degli italiani appassionati di Plone.
Oggetto: Re: [Plone-IT] custom template per fields in archetypes

 

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:     <mailto:ptramontani a racine.ra.it> ptramontani a racine.ra.it

              <mailto:ptramontani a softone.it> ptramontani a softone.it

phone: +39 338 9253741

_______________________________________

 






_______________________________________________
Plone-IT mailing list
Plone-IT a lists.plone.org
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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20110912/0d2ebbef/attachment-0001.html>


Maggiori informazioni sulla lista Plone-IT