14. Vistas - Parte I

Una simple browser view

Antes de escribir la vista de tipo de contenido talk en sí, retrocedemos y hablamos un poco sobre las vistas y las plantillas.

Una vista en Plone suele ser un BrowserView. Puede contener mucho código de python, pero primero nos centraremos en la plantilla.

Edite el archivo browser/configure.zcml y registre una nueva vista llamada training:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<configure
  xmlns="http://namespaces.zope.org/zope"
  xmlns:browser="http://namespaces.zope.org/browser"
  xmlns:plone="http://namespaces.plone.org/plone"
  i18n_domain="ploneconf.site">

  <!-- Set overrides folder for Just-a-Bunch-Of-Templates product -->
  <include package="z3c.jbot" file="meta.zcml" />
  <browser:jbot
    directory="overrides"
    layer="ploneconf.site.interfaces.IPloneconfSiteLayer"
    />

  <!-- Publish static files -->
  <browser:resourceDirectory
    name="ploneconf.site"
    directory="static"
    />

  <browser:page
    name="training"
    for="*"
    template="templates/training.pt"
    permission="zope2.View"
    />

</configure>

Agregue un archivo browser/templates/training.pt:

<h1>Hello World</h1>

Ahora tenemos todo en su lugar para aprender sobre las Zope Page Templates - ZPT.

Nota

La vista training no tiene ninguna clase python registrada para ella pero sólo una plantilla. Actúa como si tuviera una clase vacía python heredando de Products.Five.browser.BrowserView, pero la forma en que sucede es realmente es un poco de magia...