Drupal: Imagen por defecto en views / field_image

Posted by alexmoreno on Fri, 27/01/2012 - 11:58

En multitud de ocasiones el no conocer la plataforma sobre la que estás trabajando te puede ocasionar el que des vueltas y más vueltas y que incluso acabes haciendo una "chapuza" en lo que debería ser algo "elegante" y limpio. La diferencia entre un junior y un senior reside, entre otras cosas, aquí, en el tiempo que te lleva montar una cosa y en cómo lo has implementado (no sólo que funcione sino que además, las tripas del "bicho" sean elegantes).

Drupal no es una excepción, como con cualquier framework. Imaginemos el escenario, tratamos de publicar un texto en Views con una imagen, devuelta también por un field. Si no hay imagen el requisito es que se muestre una imagen por defecto tipo "noimage". La primera intención es recurrir a un Custom field o un PHP field y tratar con un if() averiguar si el field image tiene o no contenido...

Con lo fácil que en realidad puede hacerse :-).

Simplemente, en el propio image_field, marcamos la opción "Empty text", y aquí añadimos el código que queremos que se devuelva en caso de no haber imagen publicada en ese nodo. Por ejemplo:

ROUTE-TO/noimage.png

Facil, verdad? Ahora desde un customfield efecutamos la magia:

<div class="imgempresa"><img width=80px src="[field_imagen_fid]"></div> <div class="txtempresa">[title]<br> [body] [tid]</div>

En field_imagen_fid tenemos la ruta al fichero, si contiene una imagen será la ruta estándar a dicho fichero. En caso contrario, la ruta al fichero que le hayamos dado nosotros en el campo "empty text" del field image.

De nada ;-)