Drupal 5

nodewords

El modulo nodewords crea dos tipos de metatags, un campo de descripción para cada nodo así como uno de palabras clave. Si bien estas palabras clave ya casi no se usan, la descripción todavía la utilizan los buscadores para mostrar en los resultados.

metatags

Al activar el modulo se puede asignar una descripción para la pagina de inicio y en cada nodo se incorporan dos nuevas opciones para añadir la descripción y las palabras clave.

Renovando un sitio

Este esta es la explicación del desarrollo de un sitio que construi en Drupal:

Mayte siteMayte Prida es presentadora de televisión en la cadena telemundo, sobreviviente de cáncer, autora y una de las hispanas más prominentes luchando a favor de las mujeres y de la salud en Estados Unidos.

Mayte Prida requería una nueva versión de su sitio: www.mayteprida.com que mostrara más ampliamente su labor, siendo muy importante que el sitio fuera bilingüe, mostrando contenido tanto en español como en ingles.

Nuevo diseño
Con esta nueva versión del sitio se creo un diseño con criterios diferentes, por principio se creo una pagina de inicio con más opciones de navegación y que destacara ciertos elementos como un texto de presentación o ligas a el programa de televisión de Mayte Prida o a la fundación de lucha contra el cancer. El nuevo  diseño conserva el color rosa como un color importante (se usa en la lucha contra el cáncer), pero aplicado sin tanto peso, logrando una plantilla mucho más blanca y fácil de leer.

Dos idiomas y un snippet
El sitio necesitaba una solución para mostrar el contenido tanto en ingles como en español, en el sitio anterior simplemente se dividía el sitio desde la pagina en los dos idiomas. Al ser montado el sitio en Drupal la solución es más elegante, permitiendo una pagina de inicio con la interfaz en el idioma del browser de quien lo este observado, para hacer esto se uso el modulo i18n que permite crear un nodo en un idioma y crear su traducción como paso siguiente.

El diseño seleccionado contiene entre otras elementos, un menu diseñado que requeria ser una imagen, al hacer esto no se podia hacer uso de la traducción de la interfaz que permite el modulo i18n, como primera solución se pensó en el uso del modulo taxonomy theme para asignar un tema diferente dependiendo el idioma, el modulo funcionaba a medias ya que continuamente se quedaba con el ultimo tema (theme) seleccionado o bien cambiaba el idioma, pero todos los textos que era imágenes no cambiaban.

La solución que se encontró fue no utilizar el  modulo taxonomy theme y usar un snippet que sobre el mismo tema (theme) selecciona que imagen mostrar dependiendo el idioma. De esta manera fue posible al tocar el bloque de traducción (translation block) cambiar tanto de idioma en los textos como en las imágenes del menu, asi como los archivos de flash.

Modulos usados
i18n - para mostrar y cambiar los dos idiomas
TinyMCE - para editar los textos en los nodos
image - para administrar las imágenes y galerías
IMCE - para administrar las imágenes

Traducir no es facil
El modulo i18n esta lleno de detalles y configuraciones que de un inicio resultan atemorizantes, para saber como utilizarlo existe un articulo de Dave Myburgh que lo explica bastante bien y existe una traducción al español.

Comentarios
Se agradecen cualquier comentarios sobre el diseño y el armado del sitio (html +css) así como dudas sobre el uso de los modulos.

Posdata:
Existe una versión en ingles de este texto directamente en el sitio de drupal.org

Diferencias en los temas de Drupal 6 y 5

Existen dos diferencias importantes de un tema en Drupal 6 con respecto a drupal 5 la primera esta en un nuevo archivo que debe tener cada tema de Drupal, es un archivo con terminación .info que sirve para especificar información mínima del tema, es un archivo de texto que contiene información como esta:

; $Id: garland.info,v 1.5 2007/07/01 23:27:32 goba Exp $
name = Coatepec
description = Tema para el sitio ejemplodrupal.com.
version = VERSION
core = 6.x
engine = phptemplate
stylesheets[all][] = style.css
stylesheets[print][] = print.css

; Information added by drupal.org packaging script on 2008-04-09
version = "6.2"
project = "drupal"
datestamp = "1207776008"

Esta información se ve reflejada en la pagina de administración de temas, el ejemplo más claro es la parte de description. Este archivo con información sobre el tema no es opcional ya que sin el Drupal simplemente no detecta el tema aun que este bien escrito el código en el archivo page.tpl.php (que es el archivo básico del tema).

El otro detalle que resalta ya dentro del archivo page.tpl.php es como se declaran las columnas laterales en Drupal 5 se escribían así:

<?php if ($sidebar_left): ?>
<?php print $sidebar_left ?>
<?php endif; ?>

En Drupal 6 se declaran de una manera más sencilla:

<?php if ($left): ?>

<?php print $left ?>

<?php endif; ?>

Para saber más a detalle sobre como convertir temas a Drupal 6 existe una pagina

http://drupal.org/node/132442

Traducir la interfaz

Uno de los escenarios más interesantes y complicados al desarrollar en Drupal es el de usar varios idiomas, en la nueva versión 6 se solucionan muchos problemas al tener integrada toda la funcionalidad para tener un sitio en más de un idioma, en el caso de Drupal 5 se tiene que usar el modulo i18n, que soluciona buena parte de la traducción de los textos de un idioma a otro ¿pero que hacer si el tema desarrollado incluye un menú que esta hecho de imágenes? lamentablemente no se produce ningúna traducción.
La solución es un snippet que detecta que idioma se tiene y despliega un html diferente en cada caso.

El código es el siguiente:

<?php 
   
global $i18n_langpath;
    if (
$i18n_langpath == fr) {
     print
"HTML français ici";
     } else {
     print
"English HTML here";
     }
?>

Este código lo encontré en la sección de snippets de i18n.

 

Sitios en Drupal

drupal sites
En flickr tienen un album con sitios hechos en Drupal, realmente interesante las pantallas, muy buenos diseños.

Los archivos no se pueden copiar

A veces cuando se esta publicando nodos de imágenes, de pronto ya no se puede subir el archivo de la imagen y marca el error: The selected file /path/files could not be copied.

Lo primero que uno piensa es que tal vez alguna opción de la imagen este mal y por eso no se puede publicar, o bien que algún permiso en la carpeta de files esta mal, pero no es así, el error tiene que ver simplemente con las opciones del tipo de archivo images. En el área de administración en content type al editar el tipo de node image, existen dos opciones al final de permitir o no attachments y permitir o no subir imágenes, extrañamente estas dos opciones tienen que estar desactivadas para que pueda subirse una imagen a el nodo.

Este pequeño error tiene un articulo en drupal donde se dan esta y otras soluciones:
http://drupal.org/node/84405

i18n, Instalación y configuración

Una de las opciones que más importancia esta tomando en el desarrollo de Drupal es la posibilidad de crear sitio en varios idiomas, en la versión 5 existen dos modulos que permiten tener contenido en varios idiomas: i18n y Localizer.

El modulo 18n parece ser el más completo aun que su instalación y configuración resultan un tanto confusas, por suerte encontré un tutorial que explica bastante bien como instalar y configurar el modulo. Este tutorial esta originalmente en ingles y fue escrito por Dave Myburgh, con permiso de el lo traduzco.


Instalación

1. Bajar y extraer el module i18n, dentro de la instalación de Drupal en: sites/all/modules (se creara un folder con el nombre i18n).

2. Bajar las traducciones que se vayan a usar por ejemplo la de español, por default Drupal ya tiene el idioma ingles.

3. Ir a Administration > Site building > Modules y activar los siguientes modules que forma parte de i18n:

• Internationalization
• i18n - blocks
• i18n - taxonomy (only if you're going to use categories)
• Translation

modulo i18n

4. Ir a Administration > Site configuration > Localization y tocar el boton de importar

5. Tocar Browse (navegar) y encontrar el archivo(s) del idioma español (y otros idiomas que se quieran habilitar) estos archivos tienen la terminación .po

6. Seleccionar el idioma que se quiere importar.

7. Regresar a la pagina de administración de los idiomas (Administration > Site configuration > Localization) y habilitar los idiomas importandos, poniendo el nombre adecuado en el idioma original. Salvar los resultados.

Estos son los pasos basicos para dejar funcionando el modulo i18n.


Parametros Basicos


1. Los parametros de el modulo i18n se localizan en Administration > Site configuration > Multilingual system.

detectar el idioma

2. Generalmente se activa la opción de Browser language detection, de esta manera se detecta automáticamente el idioma en que esta el navegador que usa el visitante.

3. En la sección de Advanced settings generalmente se deja la opción que trae por default de Only current language and no language (solamente el idioma actual y ningún otro idioma). Las otras opciones permiten mostrar artículos de diferentes lenguas al mismo tiempo.

4. En la pestaña de Traducción (Translation tab) Generalmente se deja la opción de Language Management to Interface language depends on content. De esta manera La interfaz de Drupal cambia junto con el contenido. Se sugiere usar las otras opciones solo si se muestra todo el contenido (in Advanced settings).

5. Los parámetros de Links to node (ligas a nodos) es una preferencia personal. Si se selecciona esta opción aparece una liga que permite ir a la traducción del articulo directamente.

6. Para el flujo de trabajo de la traducción (workflow) generalmente no se activa, pero si varias personas van a hacer la traducción se debe activar para dejar indicado en que paso de la traducción se encuentra el articulo (node).

Una vez hechos estos cambios a la configuración del modulo i18n es posible empezar a crear nodos, bloques y terminos en categorias. La traducción de menus se tiene que hacer de una manera especfica. El module i18n se supone que traduce automaticamente los menus pero es resulta algo temperamental (por no decir incompleta) la manera que lo hace.


Activar la traducción en los Nodos

Un ultimo e importante parametro, es el de activar la traducción para los diferentes tipos de nodos.

1. Ir a Administer > Content management > Content types y tocar el boton de editar al lado del tipo de nodo que se quiera editar (por ejemplo page o image).

tipo de contenido

2. Bajar en la pantalla hasta donde están los parámetros de Multilingual support seleccionar Normal o extended. Generalmente la opción de Normal es la más usada, pero se puede activar la opción de extended en las situaciones en las que se quiera tener el idioma activado hasta que las traducciones esten hechas.

3. Después de salvar estos cambios en el tipo de contenido, cuando se cree un nuevo nodo de este tipo apareceran nuevas opciones que son la de poder seleccionar un idioma para el nuevo nodo y la de seleccionar un flujo de trabajo (workflow) para la traducción del mismo. Las opciones del flujo de trabajo permiten categorizar el contenido de manera que se pueda saber que articulos se estan traduciendo. para ver los articulos en sus diferentes estados de traducción se tiene que ir a la sección de Administer > Content management > Translations.

nuevas opciones de publicación

Idioma nativo

Este es un pequeño cambio que se puede hacer al utilizar el modulo i18n que sirve para crear sitios con varios idiomas.

En la sección de localización (locale) se puede hacer el cambio de que idioma aparecera cada uno al deplegarse en cualquie bloque que use el modulo i18n.

native name

Lineas en el tema

Recuerdo que hace mucho cuando salió la versión 5 de Drupal, note que en muchos temas aparecían lineas horizontales, primero pensé que era algo que podía solucionarse modificando el archivo de estilos que tiene cada tema que se llama style.css generalmente es allí donde están todos los estilos que tiene un diseño. en la realidad algunos módulos tienen sus propios estilos y en el caso de este error el estilo que causa problemas esta en modules/system/system.css. o sea en uno de los módulos principales de Drupal.

La solución salió preguntando en el foro de Drupal y es sencilla simplemente comentar estas lineas:

tbody {
border-top: 0px solid #ccc;
}

Toda la pregunta y respuestas tienen claro su nodo en el foro.

Feliz año nuevo

Muchas felicidades a todos, que todo vaya bien en la vida diaria así como en los diversos proyectos, en este año nuevo abra más información sobre Drupal


Theme & Icons by N.Design Studio
drupal mexico 2007
Un proyecto de Medioyforma.info

Add to Technorati Favorites

Sindicar contenido