Página para comprobar si una web está hecha en Drupal

A través de este post de Lullabot me he enterado de cómo comprobar si una página web está construida en Drupal o no a través de las cabeceras de http.

Se ve que casi todos los sitios Drupal emiten una cabecera de Expires a fecha de 19 de Noviembre de 1978, que parece ser es el cumpleaños de este señor.

Podéis comprobar vuestras webs aquí: http://cambrico.net/check-drupal-site

Validación de un form con campos de tipo file usando la propiedad #required

Por lo visto, no se puede utilizar la propiedad #required para hacer que los campos de tipo file en los formularios de Drupal sean obligatorios. El problema es que el campo que contiene la ruta del fichero se vacía al realizar la carga, ya que ésta se realiza a nivel de sesión.

¿Cómo colaborar para conseguir una mayor propagación de Drupal?

Hace un tiempo que me pregunté por qué Drupal no es el sistema de gestión de contenidos líder para webs sociales en PHP, y uno de los factores que más saltan a la vista es el desconocimiento, bien porque no se conoce la existencia del sistema (cada vez menos), o porque los programadores, diseñadores, webmasters... no conocen en profundidad las ventajas de utilizar Drupal para acelerar el proceso de desarrollo de una página web.

¿Cómo formatear una tabla en Drupal con theme table?

Puede ser que necesitemos construir una tabla formateada para alguna de nuestras páginas o módulos de Drupal, para ello, el sistema de theming nos permite mostrar tablas configurables a través del theme_table. Para ello, necesitamos una consulta, en el ejemplo muestro todos los usuarios de la aplicación , y sus fechas de creación y último ingreso. Para mostrar la cabecera y habilitar la ordenación en las columnas, cargamos el array $header, al que le pasamos data, que será el texto de cabecera de la columna, field, que será el nombre de la columna recuperada en la consulta (se requiere si se necesita realizar una ordenación), y opcionalmente sort, que será asc o desc, según necesitemos que esté ordenada la tabla por defecto. También le podremos pasar los atributos HTML que queramos, como colspan o clases CSS. El array $rows es el que tiene los datos, y se puede rellenar de forma simple, pasándole los datos cargados de la base de datos, como en el ejemplo, o de forma compleja, pasándole data para los datos y los atributos CSS o HTML como segundo parámetro. También se le puede pasar un array $attributes, para controlar los estilos CSS y HTML desde este array, en lugar de desde $header y $rows. Para poder activar la ordenación, es necesario añadirle la función tablesort_sql a la hora de ejecutar la consulta con db_query.

Cómo añadir nuevos Token en Drupal

Si estamos desarrollando un sitio en Drupal que utilice Tokens, que son pequeños trozos de texto a modo de comodín que son reemplazados por sus valores definitivos sobre una plantilla definida, puede que queramos añadir algún Token más aparte de los que vienen por defecto con la instalación de Drupal o alguno de sus módulos.

Existen diversos módulos que utilizan Token para funcionar, el ejemplo más claro es el de pathauto que realiza una substitución automática de los títulos de los nodos según los patrones que le indiquemos, o el sistema de comercio electrónico Ubercart.

Por ejemplo, la lista de tokens globales es esta:

Global tokens

  • [user-name] Nombre del usuario identificado.
  • [user-id] Id del usuario identificado.
  • [user-mail] Correo electrónico del usuario identificado.
  • [site-url] Url del sitio Drupal.
  • [site-name] Nombre del sitio Drupal.
  • [site-slogan] Slogan del sitio Drupal.
  • [site-mail] E-mail de contacto del sitio Drupal.
  • [site-date] Fecha actual del servidor.

Si quisieramos añadir nuevos comodines, deberemos utilizar las funciones del API del módulo Token; que son los hooks hook_token_list y hook_token_value.

  • hook_token_list sirve para mostrar un listado de los tokens disponibles en el texto a modo informativo.
  • hook_token_value es llamada al realizar las substituciones de los comodines y se encarga de reemplazarlos por sus valores reales.

Diferencias entre Drupal 5 y Drupal 6 - Último registro insertado

Una de las múltiples diferencias o novedades entre Drupal 5 y Drupal 6 es la forma de calcular el último registro insertado en una tabla de base de datos. Podemos resumirlo diciendo que en Drupal 5 no se hace de forma totalmente correcta, pero en Drupal 6 está corregido.

Taller de Drupal y Ajax - Comprobar si un nombre de usuario está registrado

En workhabits han publicado hace un par de semanas un ejemplo a modo de taller de cómo validar que el nombre de usuario que elegimos esté disponible en el momento del registro.

He realizado un par de modificaciones y lo he empaquetado en el módulo adjunto que podéis instalar para probar o utilizar en vuestros sitios. Está preparado y probado en Drupal 5.7.

Drupal: Añadir un blogroll a partir de Google Reader

La semana pasada añadí un screencast sobre cómo añadir un bloque con los últimos elementos compartidos de google reader, y ahora toca otro sobre cómo añadir un blogroll a partir de una etiqueta de Google Reader.

Mejores recursos para descargar themes de Drupal

La gran diferencia entre los sitios basados en Drupal es el contenido, pero también es de gran importancia el theme que se utiliza para que Drupal parezca menos... Drupal. Tener un theme poco utilizado o personalizado puede dar una sensación de novedad a tus visitantes y diferenciarte del resto de páginas.

Búsqueda de código de Drupal

Drupal Code Search es un proyecto muy interesante que está todavía en fase de experimental, se trata de un buscador de código que utiliza el API de búsqueda de google para buscar, según se informa en la página, dentro del código de miles de módulos y themes de Drupal.

Es un proyecto no oficial externo a Drupal.org creado por un programador de Canadá, autor del blog Blamcast.

Páginas