Re: Verzeichnis Extensions bei Plone 4
robert rottermann <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
Am 01.12.2010 11:42, schrieb pit:
> Ich habe das gemacht, was Robert beschreibt (s.u.). Ich habe es aber nicht
> zum Laufen gekriegt - zumindest nicht in den Varianten wie ich es versucht
> habe aufzurufen. Mir ist nicht ganz klar wie ich die Methode aufrufen soll.
>
> Bisher war es so:
> im Pagetemplate der Aufruf:
> ...tal:define="results python:here.einScriptexternal (parms)"...
> external method definiert:
> id = einScriptexternal
> module name = einScript
> function name = einScriptfunc
> im Extension folder war der file einScript.py
> mit dem inhalt def einScriptfunc(parm)......
>
> Wie müsste ich jetzt die Methode einScriptfunc(parm) im template rufen, wenn
> ich es so anlege wie unten beschrieben?
>
> robert rottermann hatte geschrieben:
>
> einfach im verzeichnis products ein "pseudo product" anlegen. darin hats
> ein leeres __init__.py und das verzeichnis Extensions mit deinen scripts.
>
> zope@mozart:~/redcor4/products> mkdir Dummy
> zope@mozart:~/redcor4/products> touch Dummy/__init__.py
> zope@mozart:~/redcor4/products> mkdir Dummy/Extensions
> zope@mozart:~/redcor4/products> vim Dummy/Extensions/einScript.py
>
> darin machst du dann wie gewohnt deine methode.
>
> def einScript(self):
> return "Hallo Velo"
>
>
du legst um bei meinem beispiel zu bleine ein external script an:
ID:dummy
titel:
modul:Dummy.einScript
function:einScript
wenn du den ersten parameter deiner funktion self nest (oder context), dann
kannst du damit auf die aktuelle zope umgebung zugreifen.
also z.B:
def einScript(self, nochEinParam=None):
fritz = self.acl_users.getUserById('fritz')
weitere parameter kannst du z.b über einen normalen python script übergeben. z.B:
return context.dummy.(context, nochEinParam=21).
direkt vom ZMI aus kannst Du keine parameter übergeben. trotzdem ist dann der parameter self mit dem context belegt.
gruss
rr
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope