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.

Anuncios
Estándar
software libre

¿Dónde se adopta Software Libre? Europa y Australia, en la vanguardia

En El País cuentan que “Europa, junto a Australia, es una región líder en la adopción del software libre. Alemania, Francia y España destacan en este terreno, “gracias al impulso de su administración pública” desde hace una década. Ésta es una de las conclusiones del informe elaborado por CENATIC, fundación pública estatal sobre tecnologías basadas en fuentes abiertas.”

Estándar
software libre

¿Por qué Software Libre?

En un post anterior ya comentamos cuanto se usa el Software Libre ahora sería interesante saber por qué se usa o se desarrolla el Software Libre. Tristemente no podemos encontrar tanta documentación acerca del tema:

Hace tiempo salió una encuesta en Barrapunto y otra en Slashdot acerca de por qué se programa en un proyecto de Software Libre. Esta no era una encuesta seria (su propósito es divertir más que informar) por lo que no analizaré sus resultados.

Más información da el escrito de Richard Stallman Por qué el software no debe tener propietarios donde se dan una serie de razones éticas para evitar usar y desarrollar software privativo, dando como solución el Software Libre.

También es interesante leer Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! donde lista casos en los que el Software Libre es superior al Software Privativo según medidas cuantitativas dividiendo esos casos en relación a: el mercado compartido, fiabilidad, rendimiento, escalabilidad, coste, … y también cubre aspectos en los que es mejor usarlo por otras cuestiones no cuantitativas. Destacar que amplía bastante el Estadísticas de Uso del Software Libre, por lo que se recomienda su lectura, en el lado negativo decir que muchas de las fuentes son de 2004/05.

Estándar
javascript

Google map no carga adecuadamente tras usar display: none

Si intentamos mostrar un mapa de google que previamente tenemos oculto con display: none nos encontraremos que se encuentra desplazado con el centro del mapa en el borde superior izquierdo en lugar de en el centro de la pantalla. Esto se debe a que teniendo display: none el javascript de google asume que el tamaño del div es cero y lo situa en el centro. Para evitar esto debemos cargar el iframe en el div dinámicamente esto es cuando hacemos click, para ello podemos usar el siguiente código:

<script>
function loadMapa() {
document.getElementById('mapa').innerHTML = '###CODIGO DE IFRAME###';
}
</script>
<a href="#" onclick="javascript:loadMapa()">Ver mapa</a>
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