En nuestros proyectos y también en nuestra web y blog, utilizamos el framework de javascript Mootools. Dentro de todas las opciones para crear modal dialogs al estilo Lightbox escogimos mediaboxadvanced de John Einselen (aka iaian7).
Su uso es muy sencillo y está bastante bien explicado en su web. Permite mostrar fotografías, contenido y videos de forma muy elegante y práctica. Las fotografías y videos pueden estar enlazados formando distintos sets de galerías y los videos pueden ser flash videos (flv) propios o estar colgados en páginas de servicios sociales de videos, como por ejemplo Youtube, Facebook, Flickr Video entre otros.
los estilos del Mediabox original han sido modificados por nosotros creando un theme propio, también el código del javascript original ha tenido que ser retocado para lograr el theme. (ver el post original en nuestro blog para ver nuestro theme)
Hemos cambiado los colores, los botones para cerrar la ventana y navegar por las galerías, y el gif de la precarga. Una ventaja del estilo que utilizamos es que permite la inserción del logo de la empresa o web. Esto se logra creando un div en el cuerpo principal del modal (../js/mediabox/mediaboxAdv-1.0.5.js):
24.
.
25.
.
26.
window.addEvent(
"domready"
,
function
() {
27.
// Create and append the Mediabox HTML code at the bottom of the document
28.
$(document.body).adopt(
29.
$$([
30.
overlay =
new
Element(
"div"
, {id:
"mbOverlay"
}).addEvent(
"click"
, close),
31.
center =
new
Element(
"div"
, {id:
"mbCenter"
})
32.
]).setStyle(
"display"
,
"none"
)
33.
);
34.
35.
new
Element(
"div"
, {id:
"roroland"
}).injectInside(center);
36.
image =
new
Element(
"div"
, {id:
"mbImage"
}).injectInside(center);
37.
.
38.
.
Luego en el css colocamos las siguientes reglas de estilo al div creado (../js/mediabox/css/mediaboxAdvSonic.css):
01.
/* custom div containing logo */
02.
#roroland{
03.
position
:
absolute
;
04.
z-index
:
9999
;
05.
width
:
100px
;
06.
height
:
100px
;
07.
top
:
-30px
;
08.
left
:
-40px
;
09.
background-image
:
url
(../images/logo.png);
10.
background-repeat
:
no-repeat
;
11.
}
Por último quería comentar sobre la utilización de este plugin de Mootools en Wordpress. Para decidir si en un post se cargan los archivos del Mediabox (js y css) utilizamos un custom field como condicional al cual llamamos ‘has_mediabox’ y le damos el valor TRUE en caso de ser necesaria ésta carga. Esto garantizará que no se carguen archivos innecesarios en aquellos posts que no requieran el plugin. Los archivos del plugin pueden subirse a una carpeta llamada ‘mediabox’ dentro de la carpeta ‘js’ del theme, por lo que el template del header tendrá el siguiente fragmento de código:
01.
<?
php
02.
if
(is_single()) {
03.
if
(
$mediabox
=
get_post_meta
(
$post
->ID,
'has_mediabox'
, true)) {
04.
if
(
$mediabox
==
'TRUE'
)
05.
{
?>
06.
<
script
type
=
'text/javascript'
src
=
'<?php bloginfo('
template_url');
?>
/js/mediabox/mediaboxAdv-1.0.5.js'></
script
>
07.
<
link
href
=
'<?php bloginfo('
template_url');
?>
/js/mediabox/css/mediaboxAdvSonic.css' rel='stylesheet' type='text/css' />
08.
<?
php
}
09.
}
10.
}
11.
?>
Bueno, esto es todo, espero que les sea de utilidad. Si se encuentran con problemas a la hora de utilizar Mediabox y no les alcanza la explicación de la página del autor pueden recudir a la página de discusión de los grupos Google (http://groups.google.com/group/mediaboxsupport?hl=en) o dejar un comentario aqui o en nuestro blog.
No hay comentarios.