Entradas

Drupal JS

En este post no voy a comentar como incluir un js en un theme de Drupal ni en un módulo. Tampoco como usar jquery. Solo voy hablar de algunos detalles del js en Drupal 7, que son muy útiles. Aunque no es nuevo, si han cambiado algunas cosas en misc/drupal.js . Algunos elementos importantes: Drupal.behaviors (Cuando se añade HTML vía Ajax se ejecutan los behaviors) Un ejemplo muy común: digamos que añadimos una clase a una tabla de una vista y esa clase se añade desde un fichero js. Si esa vista tiene un paginado Ajax, por poner un ejemplo, al cambiar de página se perdería la clase que se añadió a la tabla y con ella sus estilos. Para no perderla y garantizar que se ejecute ese código js debemos usar Drupal.behaviors. Incorrecto (se perdería la clase adicionada al ejecutar una funcionalidad Ajax en la página de la vista) $(function () { jQuery(".view-clientes table tr").removeClass(); jQuery(".view-clientes table").addClass('table table-hove...

Drupal vs Wordpress, ¡No!. Mejor Drupal & Wordpress

Esta es mi opinión personal, puedo estar cerca o lejos de la verdad absoluta, aunque no creo que esta exista. Pretendo en este post hacer una valoración comparativa entre Wordpress y Drupal. Post como este hay miles en internet.   Simplemente quiero emitir mi modesto criterio fuera de un simple comentario. Sin ánimo de entrar en la ridícula controversia de cual es mejor y con un desequilibrio en el conocimiento (más de 7 años con Drupal, apenas un proyecto con WP) que evidentemente me llevaría a decidirme por Drupal, expongo mi experiencia personal después de haber hecho un proyecto con WP, por demás muy muy muy sencillo. Ahí vamos !!!! Si me remonto a mis inicios con Drupal (estamos hablando de Drupal 4.7) la verdad no creo que en tan poco tiempo (1 día) hubiese logrado hacer un sitio completo,   independiente de lo sencillo que fuere. Lo cierto es que WP es muy simple y desde la misma instalación muy cómodo todo. Los conceptos son diferentes pero semejantes, aun...

EntityFieldQuery

EntityFieldQuery viene siendo una clase, nueva en Drupal 7. Esta permite recuperar información de las entidades según criterios. Nos puede ser útil para hacer digamos algo como una consulta. Supongamos el siguiente ejemplo: (no mirar el diseño de base de dato que no es lo que nos interesa ahora) Se tiene un tipo de contenido estudiante con los datos field_nombre, field_edad, field_sexo. Esos estudiantes tienen cursos y cada curso tienen los campos field_nombre_del _curso, field_nota y un campo field_nota_estudiante de tipo node references que tiene el nid del estudiante. Queremos recuperar el nombre de todos los cursos en que el estudiante de nid 25 tiene nota de 5. Con EntityFieldQuery sería algo como: $query = new EntityFieldQuery(); $query -> entityCondition('entity_type', 'node') -> entityCondition('bundle', 'curso') -> propertyCondition('status', 1) -> fieldCondition('field_nota_estudiante', 'nid',...

Theme para taxonomy/term/tid

Este tema parece sencillo, pero personalmente me complicó la vida. Todos sabemos que la url taxonomy/term/tid en Drupal provee un listado de todos los contenidos categorizados en el término tid. La forma en que muestra esa lista de contenidos responde al theme que estos tengan aplicado. Pero un requerimiento de diseño puede implicar que se desee mostrar esa lista, que por defecto nos provee el módulo taxonomy de otra forma. Mi primer impulso fue buscar un tpl para tal fin. En Drupal 7 template suggestion ( http://drupal.org/node/1089656 )encontré que existe un taxonomy-term--tid.tpl.php . Realemente no se si es un error personal (pero encontré en muchos foros muchas personas con el mismo problema), pero aunque tomaba los cambios que uno aplicara en el tpl, al final siempre imprimía el valor de $content , aunque este no se imprimiera en el fichero, es decir hay alguien (supongo que sea taxonomy) que después de mostrar lo que se definió en el tpl pues muestra el comportamiento natu...

Sobre Views con ajax en Drupal 7

El módulo Views es sin dudas uno de los componentes principales de Drupal. Si bien aún en la versión 7 no se incluyó en el core, nadie duda de que es casi imprescindible para incorporar funcionalidades de todos los días en nuestros sitios. Una de las múltiples funcionalidades de Views es el uso de AJAX. Esto incorpora este comportamiento en los paginados y en lo filtros dándole al resultado final un alto nivel de usabilidad. Realmente funciona a las mil maravillas. Como siempre queremos más, muchas veces tenemos que incorporar otros comportamientos en una vista que requieren que incluyamos código java script propio. Si la vista usa AJAX esto puede ser problemático, porque al ejecutarse un paginado o un filtro se reconstruye toda la vista y con ello el DOM vuelve al estado original y nuestro JS es muy probable que no se ejecute. Para solucionar este detalle y seguir usando AJAX en nuestras vistas la respuestas es no poner nuestro js en el típico jQuery(document).ready , en este caso...

Creando un slide de imágenes en Drupal 6 y 7

Hace un tiempo necesitaba crear un efecto de esos tan comunes en estos tiempos donde tienes un conjunto de imágenes en un bloque que van saliendo una tras otra, con cierto efecto. Drupal da muchas posibilidades para eso, incluso pluging para views para manejar la presentación de esta forma. Pero la verdad prefería en ese momento hacerlo, para así aprender. Lo primero que hice fue implementar un módulo que generara un bloque donde colocaría el slide de imágenes. Para eso simplemente busqué un ejemplo en internet y tomé su código y lo adapté a un módulo de Drupal. La verdad funcionó perfectamente. Pero usando ese mismo módulo en otros proyectos entró en conflicto en una salida de una vista. El problema estaba en que ese ejemplo usaba una versión de JQuery diferente a la que trae consigo Drupal 7. Por ello para evitar entrar en estos conflictos lo mejor es si se va a implementar apoyarse en herramientas que brinda Drupal. Les presento estas solución: Para D6 y D7 existe un módul...

De Drupal 6 a Drupal 7

Hoy retomo el blog, con el firme propósito de poner un post semanal, porque las cosas se van dejando y luego quedan como abandonadas. Revisando post anteriores me percato del tiempo que he dejado de escribir. Ese tiempo se traduce en que ya Drupal está estable en su versión 7 desde casi un año y los últimos post se referían en todo momento a la versión 6. Mucho ha llovido desde entonces. La versión 7 de Drupal trajo consigo muchos cambios. Nos haremos una comparación entre Drupal 6 y 7 porque ya hay cientos de ellas y seguramente no llegaríamos al nivel que muchas de estas alcanzan. Centraremos este Post en algunos detalles que suelen afectar. Importar y exportar tipos de contenidos Cuando se instalaba CCK en Drupal 6 aparecía dentro del grupo CCK el módulo Content Copy que permitía exportar e importar estructuras de tipos de contenidos. Para la versión 7, como sabemos el core trae consigo el módulo Field y dependiente de este algunos otros que permiten crear campos con sus respectiva...