ciao a tutti,
sto cercando di richiamare da un template di un mio pacchetto una
funzione, secondo un po' di informazioni che ho raccolto in giro questi
sono i passi logici che ho seguito:

1) in una libreria (file customMap_macros.py) sotto
src/progetto.pacchetto/progetto/pacchetto/browser ho dichiarato una
classe che eredita BrowserView come segue a cui ho assegnato un metodo
che richiama la funzione in questione:

from progetto.pacchetto.utility import * # <- qui si trova la funzione 
                                         #    getJsonMapset usa sotto

class jsonstringMacros(BrowserView):

    def getJsonString(self, myMap):
        jstring = getJsonMapset(myMap)
        return jstring

2) in src/progetto.pacchetto/progetto/pacchetto/browser/configure.zcml
ho dichiarato la view come segue:

    <browser:page
        name="jsonstring-macros"
        for="*"
        template="jsonstring.pt"
        class=".customMap_macros.jsonstringMacros"
        permission="zope2.View"
    />

3) ora nel template jsonstring.pt (anche lui in .../browser/) dovrei
richiamare il metodo getJsonString della classe nota come
jsonstring-macros/jsonstringMacros e passargli come parametro il
documento plone corrente, il mio dubbio è proprio questo: come la
richiamo?

mi è stato detto "view/mymethod nel template è tutto ciò di cui hai
bisogno" e così ho inserito quanto segue in jsonstring.pt:

<div id="my_map" metal:define-macro="getJson">
    <div tal:define="jsonString
jsonstring-macros/getJsonString/context;">

        <div tal:replace="jsonString">pippo</div>
    </div>
</div>

<div metal:use-macro="getJson">pippo</div> 

ma dall'errore che ottengo è evidente che la funzione non è chiamata
correttamente:

   - Warning: Compilation failed
   - Warning: zope.tal.taldefs.TALError: Invalid variable name "context"
in expression 'jsonstring-macros/getJsonString/context', at line 6,
column 5
PTRuntimeError: ['Compilation failed', 'zope.tal.taldefs.TALError:
Invalid variable name "context" in expression
\'jsonstring-macros/getJsonString/context\', at line 6, column 5']
2010-06-04 11:46:19 ERROR PageTemplateFile Error in template Compilation
failed
zope.tal.taldefs.TALError: Invalid variable name "context" in expression
'jsonstring-macros/getJsonString/context', at line 6, column 5
2010-06-04 11:46:19 ERROR PageTemplateFile Error in template Compilation
failed
zope.tal.taldefs.TALError: Invalid variable name "context" in expression
'jsonstring-macros/getJsonString/context', at line 6, column 5

ogni suggerimento sarà apprezzato

Grazie molte
scusate lo sproloquio ma ho già cercato di ridurre al minimo...

        Manuele

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

Rispondere a