[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