Benutzerspezifische Werkzeuge
Sie sind hier: Startseite / Zope / Plone 5 / Ein View für Plone5 erstellen

Ein View für Plone5 erstellen

In einem Plone5 Produkt ein View erstellen

In das Verzeichnis "browser" des Produkt wechseln.
Hier  die Datei myview.py mit folgendem Inhalt erstellen:

 

from zope.interface import implements, Interface
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

from Products.Five import BrowserView
from Products.CMFCore.utils import getToolByName

class IMyView(Interface):
pass

class MyView(BrowserView):
implements(IMyView)

index =  ViewPageTemplateFile('myview.pt')

def __init__(self, context, request):
self.context = context
self.request = request

@property
def portal_catalog(self):
return getToolByName(self.context, 'portal_catalog')

@property
def portal(self):
return getToolByName(self.context, 'portal_url').getPortalObject()

def mydata(self):
data = {}
data['title'] = 'Title from view'
data['text'] ='This is some example Text'
return data

Jetzt brauchen wir noch das passende PageTemplate mit dem Dateinamen myview.pt

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en"
metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">
<tal:main-macro metal:define-macro="main"
tal:define="data view/mydata">

<h1 class="documentFirstHeading" tal:content="data/title"> MyView </h1>
<p tal:content="data/text"> Text </p>

</tal:main-macro>
</div>
</body>
</html>

Als letztes müssen wir den View noch registrieren. Hierfür bearbeiten wir die configure.zcml und fügen folgenden Eintrag hinzu:

<browser:page
for="*"
name="my_view"
class=".myview.MyView"
template="myview.pt"
allowed_interface=".myview.IMyView"
permission="zope.Public"
/>

Nun können wir den View über in der URL über /myview oder falls es schon ein entsprechendes Objekt gibt über /@@myview aufrufen.

Kommentieren

Sie können einen Kommentar abgeben, indem Sie das untenstehende Formular ausfüllen. Nur Text.