[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