Il 26/08/2010 16.16, Michelangelo Gelardi ha scritto:
> Ciao a tutti,
>
> Ho la necessità di mostrare dentro ad un portlet tutti i portal_type di un 
> certo tipo, nel mio caso "articolo".
> Ho quindi scritto quanto segue:
>
> <html metal:use-macro="here/main_template/macros/master">
>    <div metal:fill-slot="body">
>      <div metal:define-macro="portlet">
>        <div
>            tal:define="presults 
> python:context.portal_catalog(portal_type='articolo')">
>          <div tal:repeat="articolo presults">
>            <h1 tal:content="articolo/Title">Titolo</h1>
>            <div
>                tal:content="articolo/Description">Descrizione</div>
>          </div>
>        </div>
>      </div>
>    </div>
> </html>
>
> Fin qui tutto bene se non fosse che vorrei recuperare anche il contenuto di 
> uno dei campi degli articoli che si chiama testo. Consapevole del fatto che 
> ciò che mi viene fuori dal catalog non sono altro che dei brain, come faccio 
> ad integrare al mio codice un getObject così da recuperare anche i vari 
> contenuti?
è vero che puoi fare getObject, ma potresti altrimenti decidere di 
indicizzare il campo "testo" che ti interessa, così il portal_catalog 
include direttamente il dato nel brain (mi pare si chiami così) senza 
dover istanziare l'oggetto.

Io avevo fatto uno script che faceva il getObject di tutti gli oggetti 
del catalogo, per controllare il valore di un campo... non hai idea di 
quanto tempo di metteva (perché chiamando getObject istanziava tutti gli 
oggetti).
Se il tuo portlet deve essere visualizzato frequentemente, forse avresti 
prestazioni superiori creando un indice per il campo che ti serve.

Giacomo

n.b.
   ma siccome potrei anche aver detto delle cavolate,  non me la 
prenderò a male se chi ne sa piu' di me vorrà smentirmi o correggere la 
mia affermazione.


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

Rispondere a