[Plone-IT] [RISOLTO] accedere a metodi zsql

Valerio Felici valerio a bgweb.it
Mar 3 Nov 2009 15:18:21 UTC


Riccardo Lemmi ha scritto:
> On Tuesday 03 November 2009, Valerio Felici wrote:
>> Riccardo Lemmi ha scritto:
>>> On Tuesday 03 November 2009, Valerio Felici wrote:
>>>> Riccardo Lemmi ha scritto:
>>>>> On Tuesday 03 November 2009, Valerio Felici wrote:
>>>>>> ciao, finché ho un metodo zsql nello stesso folder di un page template
>>>>>> è facile accedervi con una chiamata del tipo: context.my_zsql()
>>>>>>
>>>>>> ma, e qui casco io, se si trova in un altro folder non so come
>>>>>> accedervi.
>>>>>>
>>>>>> qualcuno sa indirizzarmi?
>>>>>>
>>>>>> grazie.
>>>>> Tramite l'acquisizione:
>>>>> http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/Acquisition
>>>>> .s tx
>>>> ho letto, forse ho capito male, ma sembra che l'acquisizione riguardi la
>>>> possibilità di cercare un oggetto in livelli superiori non "per così
>>>> dire" paralleli.
>>> Basta mettere nella url il 'fratello' in cui si trova l'oggetto che si
>>> vuole acquisire, supponiamo di avere questo tree:
>>>
>>> r1
>>>   s1
>>>   s2
>>>
>>> se da s1 voglio un oggetto in s2:  /r1/s1/s2/myobj
>>> Non è la cosa più pulita da fare ma funziona.
>>>
>>>> ho visto anche questa pagina:
>>>> http://www.zope.org/Members/jim/Info/IPC8/AcquisitionAlgebra/siframes.ht
>>>> m ma, devo dire, che non riesco a metabolizzarla molto :-)
>>>>
>>>> in pratica sto personalizzando la dashboard in
>>>> portal_view_customizations/products.cmfcore.interfaces._content.isiteroo
>>>> t-d ashboard
>>>>
>>>> cercando di fargli digerire un metodo zsql presente in un folder
>>> Io metterei un folder nella radice del portale o meglio ancora un folder
>>> in portal_skins con la registrazione relativa e codice su file system
>>> (come per script, page template, dtml etc), quindi:
>>>
>>> 1. folder nella radice del portale:
>>>
>>>   <portal_url>/zsql_methods/my_zsql
>> Codificato come? Se metto:
>>
>> <tal:block
>>   tal:repeat="foo python:<portal_url>/zsql_methods/my_zsql()">
>>
>> dà errore.
>>
>>
>> Grazie per l'attenzione
> 
> <portal_url> è una convenzione con cui si indica di mettere il path al 
> portale, a volte è la url a volte la path expression, dipende dal contesto, 
> ma nel caso specifico è sufficiente scrivere:
> 
> <tal:block
>   tal:repeat="foo python:here.zsql_methods.my_zsql()">
> 
> oppure
> 
> <tal:block
>   tal:repeat="foo here/zsql_methods/my_zsql">
> 
> se zsql_methods è un folder che si trova nella radice del portale si arriva a 
> my_zsql per acquisizione.
> 
> 
Riccardo, grazie per tutta la pazienza che hai avuto.
La convenzione di <portal_url> l'avevo capita, io provavo con 
context.zsql_methods.my_zsql() che è lo stesso di here.zsql...... il 
problema era che il mio folder aveva un '-' nel nome.
Quello dava problemi.

Ora è tutto ok, anche l'acquisizione :-D


-- 
A  presto
-Valerio-





Maggiori informazioni sulla lista Plone-IT