Ya queda menos para ver el nuevo Joomla 3.0

Joomla

Desde hace no mucho ya tenemos disponible la Release Alpha-1 de Joomla 3.0. (Ver en joomla.org)

La verdad es que esta nueva versión tiene muy buena pinta como podéis ver en estas capturas y en los enlaces a las demos de la parte front y de la parte back.

Front end:

Back end:

Enlaces demo: front || back

Y como añadido, os recomendamos ver esta increíble presentación sobre «Joomla 3.0 User eXperience» de prezi.com.

Fechas según zona horaria en Joomla con JHtml

Joomla

Cuando queremos pintar fechas en Joomla, usamos «echo JHTML::_(‘date’, $fecha, JText::_(‘DATE_FORMAT_LC2’));» o similar.

De esta forma, mostramos la fecha según la configuración de zona horaria del usuario.

Esto esta pensado para que la fechas se guarden en formato UTC 0 en nuestra base de datos.

Pero si estamos desarrollando nuestro componente, y las fechas que guardamos en la base de datos, son fechas con el horario de nuestra región, como las mostramos para que no se añada la diferencia horaria?

Para ello, solo tenemos que añadir un último parámetro a la llamada especificando el que el offset a aplicar sea 0.

Con ello nos quedará: «echo JHTML::_(‘date’, $fecha, JText::_(‘DATE_FORMAT_LC2’), 0);»

Que os sea útil!

Creación de websites para hoteles con cloudhotelier

Joomla

Una de las presentaciones que más nos sorprendieron en el último joomla day 2011 celebrado en Zaragoza fué la de la plataforma «Cloudhotelier«.

Cloudhotelier es una plataforma para la gestión de reservas hoteleras que consta de 2 partes; una parte cloud donde pagamos según el servicio que queramos obtener y que nos permite configurar los datos y la disponibilidad de nuestro hotel o hoteles, y una parte de paquete web normal donde se nos ofrece la posibilidad de obtener un instalable de joomla preconfigurado de forma atractiva para un hotel con su módulo de búsqueda de disponibilidad que podremos configurar fácilmente para que tire contra nuestra instancia en el cloud.

La verdad es que nos dió la sensación de un producto bastante maduro con muy buenos acabados y una interfaz sencilla y usable.

Nuestra enhorabuena al equipo de Cloudhotelier.

Cambiar redirección Joomla cuando acceso no permitido

Joomla

Por defecto, en Joomla, cuando clickamos en un ítem de menú, que es solo para usuarios registrados y no lo estamos, nos redirige a la pantalla de acceso (com_user, view login) con el texto “Usted debe loguearse primero”.

Es muy fácil que no queramos redirigir a esta página de Joomla, sino que queramos redirigir a la home, o a cualquier otro sitio.

Pues bien, para hacerlo, solo tenemos que modificar el archivo “application.php” de la carpeta ‘includes’, y más concretamente, la función “authorize” de la línea 195.

Concretamente, en la línea 209, podemos poner la url que queramos, y podemos dejar en la 210 que le agregue el parámetro de retorno si queréis.

Eso es todo.

Pintar los extrafields de k2 de forma selectiva

Joomla

No cabe duda que los extrafields de k2 (Joomla) son de una utilidad enorme, pero la forma en la que por defecto se pintan en la ficha de un ítem, hace que pueda resultar un poco compleja la personalización de la presentación de los mismos.

K2 por defecto, se limita a recorrer los extrafields y pintarlos en una lista donde en cada línea esta el nombre, y el valor.

En la mayoría de proyectos esto puede resultar insuficiente, y lo que realmente queremos es poder pedir cualquier valor de cualquier extrafield en el momento que queramos. Es decir, obtenerlos de forma selectiva.

Para ello podéis utilizar esta función:

function get_extrafield_value($extra_fields, $name, $default = ''){
    foreach ($extra_fields as $extraField) {
        if ($extraField->name == $name) return $extraField->value;
    }
    return $default;
}

Al llamar a la función, le pasamos el vector (array) de extrafields, y el nombre del campo que queremos, y la función lo busca y nos devuelve el valor.

De esta forma, podemos presentar los extrafields como queramos:

get_extrafield_value($extra_fields, 'Tipo de vía').' '.get_extrafield_value($extra_fields, 'Nombre de la vía').', '.get_extrafield_value($extra_fields, 'Nº').'. '.get_extrafield_value($extra_fields, 'Código postal').' - '.get_extrafield_value($extra_fields, 'Localidad')

Esperamos que os ayude!