[Usuarios Plone] Error base_view (solucionado)
Manuel Gualda Caballero
manuel at utopiaverde.org
Tue Jul 10 07:36:56 UTC 2012
Por si le sirve a otros aprendices:
En
http://plone.org/documentation/manual/theme-reference/buildingblocks/skin/templates/customizing-at-templates/what-makes-it-tick
insisten un montón de veces en que no se personalice base_view, así que
entiendo que eso también incluye la creación de base_view personalizadas
para tipos de contenido propios basados en arquetipos y creados con paster.
Por tanto, he optado por crear una vista propia (project_view):
$ paster addcontent view
Enter view_name (Browser view name) ['Example']: Project
...
Y asociarla a este tipo de contenido, fijándola además como vista por
defecto del mismo.
Esto podría hacerse a través de la ZMI:
ZMI -> portal_types -> Project:
· Default view method: project_view
· Available view methods:
base_view
project_view
-> Save Changes
Pero entiendo que lo mejor es hacerlo en el propio tipo de contenido,
para que se aplique automáticamente en cada instalación y activación del
complemento:
$ vi
src/nonprofit.project/nonprofit/project/profiles/default/types/Project.xml
ANTES:
<property name="default_view">base_view</property>
<property name="view_methods">
<element value="base_view" />
</property>
AHORA:
<property name="default_view">project_view</property>
<property name="view_methods">
<element value="project_view" />
<element value="base_view" />
</property>
$ bin/instance restart
Configuración del sitio -> Complementos -> Nonprofit Project -> Activar
-> Inicio -> Agregar nuevo... Project.
Creo que esto resuelve el problema, salvo que algún experto quiera
completarlo con algún consejo más.
\ ;-)
Saludos,
Manuel
El 09/07/12 14:50, Manuel Gualda Caballero escribió:
> Hola,
>
> He iniciado el desarrollo de un tipo de contenido usando "paster create
> -t archetype" y, tras añadirle el campo "locality" con "paster
> addcontent atschema", si le añado la vista "base" con "paster addcontent
> view", el tipo de contenido creado funciona sin problemas, pero obtengo
> el siguiente error al intentar acceder a las imágenes contenidas en el
> Carousel de cualquier sitio de este buildout:
>
> (...)
> Module Products.PageTemplates.Expressions, line 225, in evaluateText
> Module zope.tales.tales, line 696, in evaluate
> URL:
> /home/plone/buildout414/src/nonprofit.project/nonprofit/project/browser/baseview.pt
> Line 10, Column 0
> Expression: <PathExpr standard:u'context/locality'>
> Names:
> {'args': (),
> 'container': <CarouselBanner at /sitio_prueba1/prueba1/carousel/alianza>,
> 'context': <CarouselBanner at /sitio_prueba1/prueba1/carousel/alianza>,
> 'default': <object object at 0x7ffdf99ddb10>,
> 'here': <CarouselBanner at /sitio_prueba1/prueba1/carousel/alianza>,
> 'loop': {},
> 'nothing': None,
> 'options': {},
> 'repeat': <Products.PageTemplates.Expressions.SafeMapping object at
> 0xe9d9470>,
> 'request': <HTTPRequest, URL=http://prueba1/carousel/alianza/base_view>,
> 'root': <Application at >,
> 'template':
> <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at
> 0x8643890>,
> 'traverse_subpath': [],
> 'user': <PloneUser 'probador'>,
> 'view': <Products.Five.metaclass.SimpleViewClass from
> /home/plone/buildout414/src/nonprofit.project/nonprofit/project/browser/baseview.pt
> object at 0xea96210>,
> 'views': <Products.Five.browser.pagetemplatefile.ViewMapper object at
> 0xea962d0>}
> Module zope.tales.expressions, line 217, in __call__
> Module Products.PageTemplates.Expressions, line 147, in _eval
> Module zope.tales.expressions, line 124, in _eval
> Module Products.PageTemplates.Expressions, line 94, in
> trustedBoboAwareZopeTraverse
> Module OFS.Traversable, line 284, in unrestrictedTraverse
> __traceback_info__: ([], 'locality')
> AttributeError: locality
>
> ¿Esto es normal? (que no se pueda añadir base_view con paster a un nuevo
> tipo de contenido) ¿O es que el código de la plantilla está mal redactado?
>
> Actualmente, el código de la plantilla es:
> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
> lang="en"
> metal:use-macro="here/main_template/macros/master"
> i18n:domain="nonprofit.project">
> <body>
> <div metal:fill-slot="main">
> <h1 tal:content="context/title" />
> <p>
> <span tal:content="context/locality" /><br />
> <span tal:content="context/year" /><br />
> <span tal:content="context/description" />
> </p>
>
> <metal:block use-macro="here/slideshow_macros/macros/slideshow">
> slideshow here...
> </metal:block>
> </div>
> </body>
> </html>
>
> Notas: la versión de Plone, como se deduce del registro de error, es
> 4.1.4, me interesa usar paster por comodidad y archetypes porque el
> sitio en que se va a usar está en varios idiomas usando LinguaPlone y,
> además, ahí no tengo instalado Dexterity (ni, de momento, me interesa
> instalarlo). Si le añado la vista Project (project_view, projectview.pt)
> con paster, no obtengo el error de arriba con Carousel, pero preferiría
> crear y personalizar la base_view del tipo de contenido (en vez de tener
> que usar otra vista y usar Apache u otra cosa para asociarla el nuevo
> tipo de contenido).
>
> Cualquier ayuda será bienvenida.
>
> Gracias y saludos cordiales,
>
> Manuel
> _______________________________________________
> Usuarios-Plone mailing list
> Usuarios-Plone en lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-usuarios-plone
>
More information about the Usuarios-Plone
mailing list