Frage zu Custom Folder view / Marker Interface

3 messages Options
Embed this post
Permalink
Nico Grubert-2

Frage zu Custom Folder view / Marker Interface

Reply Threaded More More options
Print post
Permalink
Hallo zusammen

Ich habe nach der Anleitung
http://plone.org/documentation/how-to/applying-a-custom-view-to-a-specific-folder
eine Custom View für einen Plone Folder geschrieben und weiss nicht, wie
bzw. wo ich die Methoden definiere, um sie im Template, das ich in der
BrowserView verwende, aufzurufen.

Hier nun die Code-Teile, die ich habe:

----------------------------
<meinctype>/browser/views.py
----------------------------
from Products.Five.browser import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

class RubrikOrdnerView(BrowserView):

     __call__ = ViewPageTemplateFile('rubrik_ordner_listing.pt')

----------------------------------
<meinctype>/browser/configure.zcml
----------------------------------
<browser:page
     for="..interfaces.IRubrikOrdnerView"
     name="folder_listing"
     class=".views.RubrikOrdnerView"
     permission="zope2.View"
     />

<browser:menuItem
     for="..interfaces.IRubrikOrdnerView"
     menu="plone_displayviews"
     title="Rubrikordner view"
     action="@@folder_listing"
     description="Rubrikordner view"
     />

----------------------------------
<meinctype>/content/configure.zcml
----------------------------------
<class class="Products.ATContentTypes.interface.folder.IATFolder">
   <allow interface="..interfaces.IRubrikOrdnerView" />
</class>

-------------------------
<meinctype>/interfaces.py
-------------------------
class IForschungRubrikOrdnerView(Interface):
      """ Marker interface identifying RubrikOrdner
      """
      pass


Das alles klappt prima. Ich kann für jeden x-belibiegen Plone Folder via
ZMI das IRubrikOrdnerView Interface anwählen, so dass die default-view
für diesen Ordner dann mit dem Template 'rubrik_ordner_listing.pt'
angezeigt wird.
                       
Ich würde nun gern im Template 'rubrik_ordner_listing.pt' einige
Methoden aufrufen, aber wie bzw. wie definiere ich die?
Ich habe zuerst eine Funktion foo() in der Klasse
"RubrikOrdnerView(BrowserView)" (<meinctype>/browser/views.py)
definiert. Aber das hat nicht funktioniert. Im Template
'rubrik_ordner_listing.pt' ist die Funktion foo() dann nicht bekannt.

Hat jemand einen Tip?

Danke im voraus!
Nico



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Frage zu Custom Folder view / Marker Interface

Reply Threaded More More options
Print post
Permalink
Hi,

Nico Grubert schrieb:
> definiert. Aber das hat nicht funktioniert. Im Template
> 'rubrik_ordner_listing.pt' ist die Funktion foo() dann nicht bekannt.

Die Funktion solltest Du im Template über die view-Varable aufrufen können, d.h.

   tal:content="python: view.foo()"

 oder

   tal:content="view/foo"


Gruß
Andreas

--
Dr. Andreas Gabriel, Hochschulrechenzentrum
Hans-Meerwein-Str., 35032 Marburg, fon +49 (0)6421 28-23560 fax -26994
----------------- Philipps-Universitaet Marburg ----------------------


_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Nico Grubert-2

Re: Frage zu Custom Folder view / Marker Interface

Reply Threaded More More options
Print post
Permalink

> Die Funktion solltest Du im Template über die view-Varable aufrufen können, d.h.
>
>    tal:content="python: view.foo()"
>
>  oder
>
>    tal:content="view/foo"

Perfekt. Genau das war's! Danke, Andreas!


_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope