[python] Zope a TAL

"V.Segeďa" v.segeda na madalbal.cz
Pondělí Prosinec 11 10:50:12 CET 2006


Urobil by som to takto:

script:
## Script (Python) "pozdrav"
...
##parameters=a='c1',b='c2'

return "%s %s" % (a,b)


template:

<b tal:content="here/pozdrav?a=ahoj">temp</b>
<b tal:content="here/pozdrav?a=svete">temp</b>
<b tal:content="here/pozdrav?a=ahoj&b=svete">temp</b>

alebo tiež:

<b tal:content="python:here.pozdrav('ahoj')">temp</b>
<b tal:content="python:here.pozdrav('svete')">temp</b>
<b tal:content="python:here.pozdrav('ahoj','svete')">temp</b>

Dúfam, že to pomôže,
V. Segeďa

P.S:  dokumentácia k Zope2 je na adrese: 
http://www.plope.com/Books/2_7Edition

mtip wrote:
> JL> asi bych tu funkci nepojmenoval jako out, ale nějak jinak.
>
> JL> Máte definované aa a bb tak aby byly dostupné z here/?
>
> JL> A funguje tohle?
>
> JL>> <b tal:content="here/pozdrav/out('ahoj')">temp</b>
> JL>> <b tal:content="here/pozdrav/out('svete')">temp</b>
> JL>> <b tal:content="here/pozdrav/out('ahoj','svete')">temp</b>
>
> ---------------------------------------------------------------------------
>
> Tak jsem to upravil takto:
> sablona:
> class pozdrav:
>     def odpoved(a='c1', b='c2'):
>         return "%s %s" % (a,b)
>
> script:
> <b tal:content="here/pozdrav/pozdrav/odpoved('ahoj')">temp</b>
> <b tal:content="here/pozdrav/odpoved('svete')">temp</b>
> <b tal:content="here/pozdrav/odpoved('ahoj','svete')">temp</b>
>
> a nefunguje ani jeden radek. Zdalo by sem logictejsi, kdyby fungoval
> prvni radek, ale instancovat tridu se mi proste nedari. Nefunguje to,
> ani kdyz tridu vypustim a zbyde tam jen metoda, kterou volam.
> Jedine, kdy dosahnu odpovedi je pokud primo do scriptu uvedu return
> neco. Ale to je pak velmi komplikovane vytvaret pro kazdou vypocitanou
> promennou novy script, nehlede na to, ze nektere promenne spolu
> souvisi a nacte je jeden script.
>
> JL> Máte definované aa a bb tak aby byly dostupné z here/?
> Nejsem si presne jist co mate na mysli, ale pokud jde o to, ze to jsou
> verejne atributy (bez uvodniho podtrzitka), tak ano.
>
> Jeste chybu co to vraci:
> Site Error
>
> An error was encountered while publishing this resource.
>
> Error Type: NotFound
> Error Value: odpoved('ahoj')
>
> Troubleshooting Suggestions
>
>     * The URL may be incorrect.
>     * The parameters passed to this resource may be incorrect.
>     * A resource that this resource relies on may be encountering an error.
>
> For more detailed information about the error, please refer to the error log.
>
> If the error persists please contact the site maintainer. Thank you for your patience. 
>
> Diky za odpoved.
>   



Další informace o konferenci Python