Blog de miguel

Editores en Drupal 7

En Drupal 7 no instalaba el editor ckeditor directamente con el módulo ckeditor, sino por medio de wysiwyg:

Este módulo requiere que instales la librería en sites/ all/libraries/ckeditor. La librería te la descargas en:

Yo luego instalo los módulos imce imce_wysiwyg, para poder subir imágenes con el wysiwyg.

El módulo wysiwyg te permite usar otros editores. Ahora me he cambiado de ckeditor tinymce:

La razón es porque me gusta más el editor en modo código HTML. Eso sí, hay que instalar otro módulo:

En ckeditor, el código HTML no te viene tabulado ni con número de líneas; es muy complicado leerlo.

Para poder subir imágenes con este editor sigo utilizando imce imce_wysiwyg.

Enlaces sobre Drupal

Estos son algunos enlaces para solucionar algunos problemas con Drupal:

Módulo views

Configurando php.ini en un alojamiento compartido de Dreamhost

Para mi desesperación, la configuración de cada servidor en que alojo las páginas que realizo es de su padre y de su madre. En ocasiones Drupal no funcional porque éste o aquél módulo necesita unos requisitos, por ejemplo de memoria, que no están configurados en el servidor por defecto.

Al menos Dreamhost siempre suele dar alguna oportunidad para variar los valores del archivo php.ini que vienen por defecto. Si el dominio o sub-dominio funcionan sobre PHP 5.3 (lo podemos comprobar en el panel de control, dentro de la configuración de dominios), podemos crear un archivo de texto llamado phprc. Lo debemos colocar dentro de la siguiente configuración de carpetas:

    .php/5.3 

Por ejemplo, en phprc podríamos aumentar el límite de memoria:

    memory_limit = 256M 

A su vez, la carpeta .php debe estar dentro de la home de cada usuario, es decir, en home/nombreusuario. Si queremos una configuración distinta para cada subdominio o dominio, necesitaríamos crearnos un usuario para cada dominio (eso dicen en algún foro).

Fuente: http://wiki.dreamhost.com/PHP.ini#phprc

Solucionar el problema de Cufon en IE9

Parace ser que en Internet Exploer 9 no se visualizan bien los textos que se habían maquetado con Cufon.

Podemos solucionarlo con 3 pasos:

  • Descargar la versión más reciente de Cufon-yui.js.
  • Añadir en el HEAD del documento HTML, después de la llamada a Cufon-yui.js, el siguiente código:
<!--[if gte IE 9]>
    <script type="text/javascript">
        Cufon.set('engine', 'canvas');
    </script>
<![endif]-->
  • Añadir el siguiente meta en el HEAD, para forzar que IE9 se comporte como IE8:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Fuente: http://www.estadoactivo.com/problema-con-cufon-y-ie9.html

Si estamos en Drupal 6, podemos escribir en el HEAD instalando el módulo Add To Head.

Instalar Drupal 7 en Uniserver

UniServer es un servidor Apache portátil (portable), y es el que utilizo para montar mis sitios de prueba en Drupal. Simplemente es muy útil porque lo puedes instalar en un penDrive o en un disco duro portátil y así llevarte el sitio web a cualquier parte.

Para poder instalar Drupal 7 en UniServer tuve que quitar el comentario de un par de líneas en el archivo php.ini situado en usr/local/php:

  • extension=php_pdo_mysql.dll
  • extension=php_pdo_sqlite.dll

Así lo pude instalar sin problemas.

Problemas en Drupal con CSS e Internet Explorer 8

Tenía problemas al ver en ie8 uno de los sitios hechos con Drupal: parecía como si la hoja de estilos no se cargase, y eso que estaba bien enlazada en el "head" del documento. En Firefox el sitio web se veía perfectamente.

Al parecer, ie8 tiene un problema si uno intenta cargar en la cabecera muchas hojas de estilos y script. Encontré que una posible solución para Drupal era entrar a "Configuración del sitio > Rendimiento", y ahí activar las casillas referentes "Optimizar archivos CSS", y "Optimizar archivos JavaScript".

Aun así esta solución presenta 2 problemas:

  • en la fase de desarrollo no se lleva muy bien con la caché, así que es mejor activar estas casillas al final del desarrollo;
  • hay un fallo en Drupal 6 que impide esta solución si el método de descargas del servidor está en privado.

Como no entiendo mucho respecto al tema, aquí indico la fuente:

http://www.siteprebuilder.com/content/drupal-problem-solving-broken-css-ie

Campo para calcular otros campos en Drupal

Necesitaba un campo cuyo resultado fuese el cálculo de una operación entre otros campos de un mismo nodo. Encontré el módulo Computed Field, que además de calcular el valor lo guarda.

También hay otro módulo que hace algo parecido, Dynamic Field, pero este no guarda el cáculo, sólo lo muestra en vivo cuando vemos un nodo, y por ello no sirve para utilizarlo por ejemplo con el módulo Views.

IMPORTANTE: si añadimos el campo Computed Field después de haber creado los nodos, sólo mostrará el valor si volvemos a guardar los nodos.

Enlaces a la misma página en Drupal

Tenía un menú con enlaces primarios y cada ítem tenía un subítem del siguiente modo:

  • ítem 1
    • subítem 1
    • subítem 2
    • subítem 3

No sabía cómo hacer para que el ítem 1 me enlazara a #, es decir, a la misma página en que uno está, pues en Drupal hay que enlazar siempre a un nodo, y no quería poner <front>.

Encontré el siguiente código, que debía pegarse dentro del código php del archivo template.php situado en el tema elegido:

<?php
function phptemplate_menu_item_link($link) {
  if (empty(
$link['localized_options'])) {
   
$link['localized_options'] = array();
  }
    if(
$link['href'] == "<front>")    {
    return
"<a href=\"#\">$link[title]</a>";
    }
    else
    {
      return
l($link['title'], $link['href'], $link['localized_options']);
    }
}

?>

Fuente: http://drupal.org/node/128618#comment-979977

Ahora he visto que también hay un módulo para ello, aunque no lo he probado:

http://drupal.org/project/special_menu_items

Portal para diseñadores freelance (en inglés)

Esta semana descubrí freelanceswitch.com, un portal en inglés para trabajadores autónomos del diseño gráfico. Creo que el portal es australiano, más que nada por las direcciones que encontré en algún lado del portal.

Adjunto una de las tiras cómicas de su sección Freelance Freedom:

Tira cómica

Por lo visto, en todos lados cuecen habas. Qué pena, y yo soñando con la tierra prometida...

Pantalla en blanco en el Webform de Drupal

Tenía un formulario en Drupal hecho con el módulo Webform. Cuando daba al botón de enviar no me iba a la ventana de confirmación, sino que me salía la típica venta en blanco de Drupal (vamos, que el navegador se quedaba en blanco).

Como casi siempre me ocurre en Drupal, casi me vuelvo loco encontrando una solución. Por fin encontré una solución en el siguiente enlace:

http://community.contractwebdevelopment.com/drupal-blank-screen-after-submit

Lo que pasaba era que anteriormente había modificado el archivo "template.php" de mi plantilla de Drupal, con el fin de añadir un código de php. El error fue añadir el código entero previamente, incluyendo los caracteres de apertura y cierre <?php   ?>. Todo se solucionó cuando añadí el código dentro de los que ya existían, justo antes de <?php.

Por lo visto, según explican en el enlace adjunto, no debe haber ningún espacio después de ?>, vamos, que sólo haya un sólo cierre, y por lo tanto una sola apertura del código php.

Hay todo un hilo de Drupal en que explican posibles causas a la pantalla en blanco:

http://drupal.org/node/158043

Distribuir contenido