Problema fecha Joomshaper NEO

#111243
redloModerador Foro
Participante

Mejor cuanta mas gente se beneficie.

El problema es en realidad bastante sencillo, si tenemos en cuenta que desde la web de joomshaper funciona perfectamente.

Accedi al foro de Joomshaper para ver que efectivamente habia bastante gente con ese problema y segun he podido deducir, todos eran de habla no inglesa.

Esto me llevo a pensar a que quizas el problema fuera del idioma y me puse a investigar.

Descargue e instale el Quickstart joomla 3 de la plantilla NEO y todo funcionaba. Actualize a la version joomla 3.2, instale el idioma español para Joomla! y componente k2, que son los implicados en el fallo.

Lo siguiente fue activar el idioma español de Joomla! para que tomara el idioma español para el componente K2 y efectivamente, salto el problema de las fechas.

El siguiente paso era ver que plantilla o theme de k2 estaba asignado a la categoria para ver como presentaba la fecha y en que archivo de la plantilla k2. La plantilla k2 es llamada neo_blog situada en /components/com_k2/templates y me la descargue para buscar el archivo relacionado.

El archivo es el item.php y el código relacionado es el siguiente:

item->created, JText::_('DATE_FORMAT_LC4'));
$date_display = explode("-",$date_format);
$format_date = date("d-M-Y", @mktime(0, 0, 0, $date_display[1], $date_display[2], $date_display[0]));
$final_date = explode("-",$format_date);
$output = "".$final_date[0]."

".$final_date[1]."
".$final_date[2]."

";
echo $output;
?>

Si se fijan bien el Jtext con DATE_FORMAT_LC4 es quien se encarga de mostrar dicha fecha, que recordemos muestra perfectamente en su idioma original, por lo que debemos buscar la linea que corresponde en el archivo de traducción joomla, OjO no el del componente k2, ya que no corresponde al mismo, si no al propio joomla, y que el archivo esta situado en /language/en-GB y llamado en-GB.ini.

La linea que buscamos es la siguiente y se necuentgra sobre la linea 254 aproximadamente:

[code type=ini]DATE_FORMAT_LC4=”Y-m-d”[/code]

Si se fijan bien, nos muestra la siguiente traducción como Y-m-d . Es decir Year Month Day , traducido Año Mes Dia.

Luego nos vamos al archivo de traducción joomla para el español situado en /language/es-ES y llamado es-ES.ini, y vamos a la misma linea de DATE_FORMAT_LC4, donde esta vez nos muestra la siguiente traducción.

[code type=ini]DATE_FORMAT_LC4=”d-m-Y”[/code]

Y observamos que no sigue el mismo orden, ya que es sabido que la fecha en ingles, da preferencia al año primero y el dia como ultimo, cuando en español es al contrario como pueden observar. Luego, el Core de Joomla! esta creado en ingles y algunas funciones como con esta, tienen sus inconvenientes.

¿Como solucionamos el Tema?

Pues, sencillo, bien añadiendo una constante diferente para esa linea en Extensiones / Gestor de idiomas / Modificaciones (Overrides en ingles), asi >

[code type=ini]DATE_FORMAT_LC4=”Y-m-d”[/code]

O bien directamente en la linea del archivo de traducción al español es-ES.ini, cambiando d-m-Y por Y-m-d.

Es un modo rapido de arreglar y que cualquiera puede entender y poner en practica. Espero que les sirva

Attachments:
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad