Pathauto idioma neutral

(En inglés ‘Language Neutral Pathauto’)

La versión para Drupal 6 de pathauto tiene un problema con la gestión de los paths en sitios con varios idiomas. El problema es que todos los nodos que cree cualquier usuario se crearán con el path automático en el idioma del usuario, independientemente si el tipo de contenido en particular acepta o no traducción del contenido o contenido en diferente idioma (modula “Content Translate” del core). Esto es un problema porque los usuarios que visiten ese URL que tengan otro idioma no podrán ver el nodo (404) porque no existe ese path para su idioma… de nuevo, es un tipo de contenido que no acepta traducción!!

La problema fue reportado pero los autores justifican que es una característica (yo insisto que es un error, porque es para tipos de contenido que no tengan traducción) y la solución propuesta, agregar una opción en la página de administración no les gustó porque indican que no quieren agregar más opciones al panel de administración (Así? Sin más? Sin proponer otra cosa :S). Al final el error no fue arreglado :S

La solución acá propuesta sigue sin ser perfecta, porque aplicará para todos los nodos nuevos, no por tipo de contenido:


************************************************************************
File: pathauto/pathauto.admin.inc
Line: 29
Function: pathauto_admin_settings()
Hack:

// HACK: Pathauto ignore language setting
$form['general']['pathauto_ignore_language'] = array(
'#type' => 'checkbox',
'#title' => t('Force Language Neutral'),
'#default_value' => variable_get('pathauto_ignore_language', FALSE),
'#description' => t('Create path in language neutral mode'),
);

************************************************************************

************************************************************************
File: pathauto/pathauto.inc
Line: 427
Function: _pathauto_set_alias($path, $existing_alias = NULL, $op = NULL)
Hack:

// HACK: Should we ignore language setting
if ((bool) variable_get('pathauto_ignore_language', FALSE)) {
// _pathauto_verbose('pathauto_ignore_language is TRUE. Current language: ' . $path['language']);
$path['language'] = '';
}

************************************************************************

Advertisement
  1. Aún no hay trackbacks

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.