Los problemas de Mambo con las RSS
January 15th, 2006Parece ser que Mambo 4.5.2 tiene un problema con los RSS bastante gordo. Por lo menos si tu idioma es el español. Intenté poner un enlace a un RSS en el portal de motociclismo MotosCanarias (http://www.motoscanarias.com) y el resultado fue desastroso. Sin embargo, después de una hora de trapicheo y lecturas infructuosas de foros conseguà que no salgan sÃmbolos como ñ o ú para las vocales acentuada o la eñe. No parece que nadie haya publicado una solución, asi que me pregunto si seré el primero en lograrlo xD.
La solución no es general y es poco más que un parche provisional. Pero funciona.
Todo lo que hay que hacer es abrir el fichero /componentes/com_newsfeed/newsfeeds.html.php y crear una función dentro de la clase HTML_newsfeed, la la única clase del fichero, asi que no tiene pérdida.
La función tiene el aspecto siguiente:
function to_normal_spanish($text) {
$output = $text;
$output = str_replace("ñ", "ñ", $output);
$output = str_replace("á", "á", $output);
$output = str_replace("é", "é", $output);
$output = str_replace("ó", "ó", $output);
$output = str_replace("ú", "ú", $output);
$output = str_replace("ÿ", "¿", $output);
$output = str_replace("á", "¡", $output);
$output = str_replace("Ã", "Ã", $output);
return $output;
}
Puede llamarse como quieras pero el asunto ahora consiste en registrar ese fichero buscando sentencias php de ‘echo’ y llamar a la función que acabamos de crear para que modifique el texto irregular por texto en Español bonito
.
Por ejemplo, podemos cambiar en la lÃnea 350 (o por ahÃ) la sentencia:
<?php echo $text;?>
Por la sentencia:
<?php echo HTML_newsfeed::to_normal_spanish($text); ?>
Y asi con el resto de lÃneas del fichero. Esa es la última sentencia que aparece en el fichero y la que imprime el texto de los artÃculos.
A ver si en la nueva versión de Mambo arreglan estos problemillas. Supuestamente es debido a un problema con los encodings, que si UTF-8 para arriba , que si ISO-88xx-1 para abajo. En fin, ahà queda eso.