drupal

Hacer un count en una view

Si quieres tener el resultado de filas en tu vista es posible que te valga con usar views calc. Pero tal vez quieras algo más sofisticado o flexible, en ese caso puedes utlizar el siguiente código dentro del template de tu view:

<?php
             get_total_rows = TRUE;
             $view->execute();
             // results are now stored as an array in $view->result
             $count = $view->total_rows;
             print($count);
?>
Estándar
drupal

Drupal GMap + Location

Añadir un mapa a un nodo, añadiendo la localización.

1. Instalar módulos location y gmap
2. Configurar gmap (conseguir una api key)
3. Configurar location (aceptar condiciones de uso)
4. Configurar gmap location
5. Habilitar el bloque “Mapa de Ubicación”, ó mejor aún crear una vista tipo ubicación que saque el mapa y con views attach meterlo como cck.

Estándar
drupal

Manteniendo proporciones con imagecache

Imagecache te permite entre otras cosas redimensionar imágenes de diferentes maneras, aquí veremos las más populares sin perder las proporciones originales. Para ello añadiremos un nuevo preset proporciones-originales que nos servirá para hacer nuestras pruebas.

Escalar la Imagen (Add scale)

Si sabemos un ancho ó un alto (pero no ambos) máximo escalar la imagen es nuestra opción y las proporciones quedan como las originales. El problema es que muchas veces vamos a querer tanto un ancho como un alto.

Escalar y cortar la imagen (Add Scale and Crop)

Para muchas fotos en las que sabemos tanto un alto como un ancho podemos escoger esta opción y para paisajes o cosas así funcionará muy bien. El problema lo tenemos en figuras que pueden aparecer con la cabeza cortada y queda un tanto mal.

Escalar según si la imagen es horizontal o vertical

Una de las muchas cosas que podemos hacer con ImageCache Actions es elegir un preset en función de si la imagen es horizontal o vertical.

De este modo tendríamos tres preset: proporciones-originales, proporciones-originales-horizontal, proporciones-originales-vertical. proporciones-originales-vertical tendría un “Add Scale” con un height máximo, proporciones-originales-horizontal tendría un “Add Scale” con un width máximo y proporciones-originales tendría un “Add Aspect switcher: Switch between portrait and landscape” cuyo preset horizontal sería proporciones-originales-horizontal y cuyo preset vertical sería proporciones-originales-vertical

Si además queremos que las proporciones no sean máximas sino exactas podríamos añadir la acción “Add Define Canvas”

Estándar
drupal

Breadcrumb para un node type con una etiqueta

Menutrails nos permite dar un determinado breadcrumb a un tipo de nodo, también nos permite dar un breadcrumb por etiqueta pero en ocasiones nos interesará dar un breadcrumb a un tipo de nodo que tiene una etiqueta especial. Para ello podemos meter el siguiente código al template.php de nuestro tema, en nuestro caso las etiquetas son 16 (huerto urbano) y 17 (va de vinos) y el tipo de nodo artículo:

function phptemplate_preprocess_node(&$vars) {
  $node = $vars['node'];
  if ($node->type=='articulo') {
    $categories = taxonomy_node_get_terms($node);
    if ((array_key_exists('17', $categories)) | (array_key_exists('16', $categories))) {
      $breadcrumb = array();
      $breadcrumb[] = l(t('Home'), '');
      if (array_key_exists('17', $categories)) {
        $breadcrumb[]=l(t('Va de Vinos'), '/va-de-vinos');
      }
      if (array_key_exists('16', $categories)) {
        $breadcrumb[]=l(t('Huerto Urbano'), '/huerto-urbano');
      }
    }
  }
}
Estándar
drupal

Actualizar Drupal

Esto es un paso a paso para actualizar el core de drupal.

  1. Se hacen copias de seguridad de la BBDD y del sistema de ficheros
  2. Se descarga y descomprime la versión a la cual se va a a hacer el update.
  3. cp -r www/sites www/cgi-bin drupal-new
  4. Se pone el sitio en modo mantenimiento
  5. Se desactiva el theme personalizado si lo hubiera dejando garland o similar
  6. Se deshabilitan todos aquellos módulos que no vengan incluidos en el core de Drupal (antes se copia el listado de módulos ya instalados, por ejemplo con un guardar como)
  7. mv www http://www.old
  8. mv drupal-new www
  9. Se lleva a cabo la ejecución del script update.php
  10. Se habilitan de nuevo los módulos extras, se activa el theme y se quita el modo matenimiento
Estándar