Creare un archetypes con titolo settato via script

4 messages Options
Embed this post
Permalink
Vito

Creare un archetypes con titolo settato via script

Reply Threaded More More options
Print post
Permalink
Ciao,
mi sembrava che fosse piuttosto semplice farlo, ma mi pare che non sia esattamente così :(

Sto creando una archetypes per gestire delle "persone". Ogni persona è un oggetto. L'archetypes è formato da più campi tra i quali "nome" e "cognome", e vorrei che il TITLE di questo oggetto sia per l'appunto l'unione di questi due campi.

Quindi ho scritto nel .py dell'ggetto:

...
atapi.ComputedField(
'title',
accessor='title',
searchable=1,
expression="context.computeTitle()",
),
...
e poi nella classe
...
def computeTitle(self):
"""Get object's title."""
nome = self.getField('nome')
nome = nome.getRaw(self)
cognome = self.getField('cognome')
cognome = cognome.getRaw(self)
title = nome+" "+cognome
return title


E ogni volta che istanzio un nuovo oggetto il mio simpatico plone attribuisce al title la seguente stringa: "Site-1" dove il numero è un progressivo di gono oggetto creato O_o

Dov'è che sbaglio? O anche provato a fare un
return 'cicco'
come riga del computeTitle, ma sempre ottenendo lo stesso comportamento... sembra quasi che non entri nel mio metodo computeTitle alla creazione dell'oggetto :-S

Grazie
Vito
_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Fabrizio Reale

Re: Creare un archetypes con titolo settato via script

Reply Threaded More More options
Print post
Permalink
In data giovedì 27 agosto 2009 08:54:15, [hidden email] ha scritto:
: > Ciao,
> mi sembrava che fosse piuttosto semplice farlo, ma mi pare che non sia  
> esattamente così :(
>
> Sto creando una archetypes per gestire delle "persone". Ogni persona è un  
> oggetto. L'archetypes è formato da più campi tra i quali "nome"  
> e "cognome", e vorrei che il TITLE di questo oggetto sia per l'appunto  
> l'unione di questi due campi.

Ti suggerisco di ridefinire semplicemente l'accessor al metodo Title.

Fabry


--
Fabrizio Reale

Redomino S.r.l.
Largo Valgioie 14,
10146 Torino Italy
Tel: +39 0117499875
http://redomino.com


_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Giorgio Borelli

Re: Creare un archetypes con titolo settato via script

Reply Threaded More More options
Print post
Permalink
In reply to this post by Vito
ciao

Il giorno gio, 27/08/2009 alle 06.54 +0000, [hidden email] ha
scritto:
> Ciao,
> mi sembrava che fosse piuttosto semplice farlo, ma mi pare che non sia
> esattamente così :(
>
> Sto creando una archetypes per gestire delle "persone". Ogni persona è
> un oggetto. L'archetypes è formato da più campi tra i quali "nome" e
> "cognome", e vorrei che il TITLE di questo oggetto sia per l'appunto
> l'unione di questi due campi.

Feci a una cosa simile con queste parti di codice e funzionava:


nello schema:
...
    ComputedField(
        name='title',
        storage = AnnotationStorage(),
        expression = "context._computeTitle()",
        accessor = "Title",
        searchable = True,
        widget = ComputedWidget(modes=('view'))
    ),
...

e nella classe

...
    def _computeTitle(self):
        """Get object's title."""
        name = self.getName()
        surname = self.getSurname()
        title = surname + " " + name
        return title
...



_________________
Giorgio Borelli



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Vito

Re: Creare un archetypes con titolo settato via script

Reply Threaded More More options
Print post
Permalink
Ciao,
mistero risolto... "accessor" va con la T maiuscola O_o

Thank's *
Vito

Il giorno 27 agosto 2009 09.50, Giorgio Borelli <[hidden email]> ha scritto:
ciao

Il giorno gio, 27/08/2009 alle 06.54 +0000, [hidden email] ha
scritto:
> Ciao,
> mi sembrava che fosse piuttosto semplice farlo, ma mi pare che non sia
> esattamente così :(
>
> Sto creando una archetypes per gestire delle "persone". Ogni persona è
> un oggetto. L'archetypes è formato da più campi tra i quali "nome" e
> "cognome", e vorrei che il TITLE di questo oggetto sia per l'appunto
> l'unione di questi due campi.

Feci a una cosa simile con queste parti di codice e funzionava:


nello schema:
...
   ComputedField(
       name='title',
       storage = AnnotationStorage(),
       expression = "context._computeTitle()",
       accessor = "Title",
       searchable = True,
       widget = ComputedWidget(modes=('view'))
   ),
...

e nella classe

...
   def _computeTitle(self):
       """Get object's title."""
       name = self.getName()
       surname = self.getSurname()
       title = surname + " " + name
       return title
...



_________________
Giorgio Borelli



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html



--
"Design is the method of putting form and content together. Design, just as art, has multiple definitions; there is no single definition. Design can be art. Design can be aesthetics. Design is so simple, that's why it is so complicated." by Paul Rand

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html