Plone 4: Crear nueva vista de plantilla

He creado un nuevo producto. Puedo instalarlo y desinstalarlo.

Sin embargo, he creado una vista, a la que se puede llamar desde una acción (actions.xml), pero sigo recibiendo un error que dice que la página no existe.

This page does not seem to exist…

aquí están mis acciones.xml

<?xml version="1.0"?>
<object name="portal_actions" meta_type="Plone Actions Tool"
   xmlns:i18n="http://xml.zope.org/namespaces/i18n">

<action-provider name="portal_workflow"/>
<action-provider name="portal_types"/>
<action-provider name="portal_actions"/>

<object name="document_actions" meta_type="CMF Action Category">

    <object name="viewCatTree" meta_type="CMF Action" i18n:domain="plone">
        <property name="title" i18n:translate="">Category Tree</property>
        <property name="description" i18n:translate=""></property>
        <property name="url_expr">string:${object_url}/visual_tree_view</property>
        <property name="icon_expr"></property>
        <property name="available_expr"></property>
        <property name="permissions">
            <element value="View"/>
        </property>
        <property name="visible">True</property>
    </object>

    <!-- more actions here -->

</object>

Así es como lo he especificado en configure.zcml

<browser:page
    for="*"
    name="visual_tree_view"
    class=".viewlets.CategoryTreeSettingsView"
    template="../skins/category_customizations/category_view.pt"
    permission="zope2.View"
/>

También intenté agregar @@ antes del nombre de la vista en el navegador, pero no se puede encontrar la página. La plantilla existe en la carpeta de máscaras y no importa si cambio el código anterior para que apunte a /templates/category_view.pt

¿Alguna idea?

preguntado el 22 de mayo de 12 a las 10:05

1 Respuestas

Sospecho que su vista genera un AttributeError o KeyError cuando se procesa, lo que también haría que Plone mostrara un error NotFound.

Ponga un punto de interrupción de depuración en su vista __call__ y / o __init__ métodos para ver si su vista está siendo buscada y llamada.

Eso, o tu configure.zcml no se carga en absoluto; asegúrese de que su paquete esté incluido en algún lugar, tal vez en el zcml variable en el plone.recipe.zope2instance parte de su construcción, o en un <include /> instrucción en otro archivo configure.zcml.

contestado el 22 de mayo de 12 a las 12:05

Tengo pero no se muestra nada. No creo que se llame. Además, no puedo ver viewlets.pyc, que solo puedo suponer que no se está llamando. - franklin

Ah, ¿a) reiniciaste, b) te aseguraste de que configure.zcml esté cargado? - Martijn Pieters

Lo reinicié un par de veces, incluso tuve que desinstalarlo y volver a instalarlo, pero nada. - franklin

El tutorial en realidad no toca la directiva zcml, pero debería hacerlo. - Martijn Pieters

creo que el problema es que te extrañas en main configure.zcml - esa es mi culpa habitual - mikko ohtamaa

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.