Israel Saeta Pérez escribió:
> 2008/12/7 Manuel Gualda Caballero wrote:

Con vuestra ayuda, es posible que algún día este producto pueda llegar a
estar en condiciones de ser liberado. Por si esto llegara a suceder, he
modificado los nombres del producto, carpetas, archivos y elementos
clave del código fuente para que se adecuen a las convenciones que me
parece que tienen los productos de Plone. Y para evitar confusiones con
el DirectoryView y DirectoryTool de CMFCore y otros similares, le he
llamado EntitiesDirectory.

Este nombre facilitaría la creación de ProductsDirectory y similares con
pequeñas modificaciones e, incluso, un producto Directories que permita
agregar distintos tipos de fichas y directorios -de entidades, de
personas, de productos, mixtos, personalizados,...-. Pero esto todavía
no está ni en la fase Planning (dejémoslo en "Imaginación al Poder",
aunque la verdad es que resultaría muy útil...).

> Para que aparezca hipervinculado, asumiendo que el campo se llama "email":
> 
>     <a href="#" tal:attributes="href string:mailto:${context/getEmail}";>

Funciona perfectamente.

\ ;-)

Aunque todavía no he encontrado en qué parte de la documentación puede
uno aprender cosas como ésta. Yo me volví loco buscando esto y no lo
encontré por ninguna parte (de hecho, si busco "href
string:mailto:${context/getEmail}";, no obtengo ningún resultado, ni en
la documentación o foros de Plone, ni en Google).

Imagino que no estaré buscando adecuadamente.

> Si quieres protección antispam, la manera más limpia y sencilla que se
> me ocurre es crear un método en la clase del tipo de contenido:
> 
> class TuTipoDecontenido(ClaseMadre):
>     ....
>     def getObfuscatedEmail(self):
>         """Get a modified version of email so spambots can't read it.
>         """
>         email = self.getEmail()
>         obfuscated_email = email.replace('@', ' at ')
>         return obfuscated_email
> 
> Y luego en la plantilla:
> 
>     <a href="#" tal:attributes="href
> string:mailto:${context/getObfuscatedEmail}";
>                      tal:content="context/getObfuscatedEmail">email</a>
> 
> No lo he probado, pero espero que funcione.

Si se indica una dirección de correo electrónico, funciona
estupendamente (yo le he puesto lo siguiente: "email.replace('@', '
[EMAIL PROTECTED] ')").

Pero si se deja en blanco el campo del correo electrónico, aparece el
icono de correo enlazado a "mailto:";.

Esto lo he solucionado añadiendo la siguiente condición delante de los
atributos (¿se dice así?):

tal:condition="context/email|nothing"

Espero no haber hecho una barbaridad, aunque la verdad es que funciona...

\ ;-)

>> Pero no sé qué tengo que poner en directorio_view.py para que muestre la
>> correspondiente imagen (resulta curioso: he logrado encontrar
>> explicaciones de cómo hacer cosas complejas con las imágenes, pero no he
>> sabido localizar la que explica lo más básico: sencillamente mostrar la
>> imagen con una medida determinada y ya está).
> 
> Si mal no recuerdo, los campos tipo imagen tienen un método denominado
> "tag" para conseguir uno de los tamaños almacenados:
> 
>     <img tal:replace="python: context.image.tag(size='thumb') />

Lo he probado y da un HTMLParseError (sí que es complicado mostrar las
imágenes...).

>>>     3.- Que el buscador del sitio busque en algunos campos más de las fichas
>>>     (aparte de en el campo "Título").
>>>
>>> Indexa los campos por los que quieres buscar en en catálogo.
>> Les he añadido "searchable = True," y el buscador ya los tiene en
>> cuenta. ¿Es esto a lo que te referías o lo de indexarlos en el catálogo
>> es otra cosa?
> 
> Si no me equivoco, eso lo que hace es hacer que estos campos sean
> parte del campo "virtual" SearchableText indexado. Esto significa que
> podrás realizar búsquedas generales que incluyan estos campos, pero no
> buscar por este campo explícitamente. Es decir, puedes buscar en todos
> los campos que agrupa "SearchableText" a la vez, pero no sólo en uno
> concretamente. No sé si te supondrá un problema.

Entendido. En esta fase inicial me sirve el "searchable = True,", aunque
quizás más adelante tenga que trabajar en la indexación de ciertos
campos en el catálogo (lo anoto para entonces, por si me hiciera falta).

> Suerte. :-)

¡Gracias!

Manuel

_______________________________________________
Plone-ConoSur mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-conosur

Responder a