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