Menudo coñazo esta siendo. Primero tuve que cambiarlo de ubicación, cosa normal, ya que tengo varios dominios virtuales (también tengo puesto el de mi grupo de música, SpeedBall pero esta todavía ni he empezado a hacerla, ya se sabe, en casa del herrero...). Después, tras crear las bases de datos en el MySQL y lograr acceder al panel de administración, la cuestión era cambiar el aspecto. Desgraciadamente los temas que trae de serie el rpm no me sirven, y he visto muy pocos que me gusten y sigan las directrices del bar. Además los temas que he añadido a mano no logro que funcionen ¡¡seré negado!!. Total, que he empezado a modificar uno preexistente, y si, me esta quedando horrible (si no lo he cambiado ya).
Además, como es lógico, quería poner la ubicación del bar en el universo, a lo cual pensé ¿qué mejor que el Google Maps?. Me miro la documentación de la API, la cual es en javascript, y me encuentro que hay que incluir una cabecera en el <head> para que cargue la API, definir la función load() para que "cargue" el mapa en las coordenadas que quieras y con los controles que quieras, luego hay que modificar la línea <body> para que se ejecute una función al cargarse la página y otra al "descargarse" (<body onload="load()" onunload="GUnload()">), y finalmente una línea más en el lugar dónde quieres que se visualice el mapa. Todo muy sencillo si tienes una página estática cualquiera:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://maps.google.com/maps?file=api&v=2;key=LACLAVE"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(41.11457,1.249437), 13);
}
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 300px"></div>
</body>
</html>
Pero claro, en una página dinámica como un portal PHP Nuke ¿cómo lo pongo?. En principio el head de las páginas del portal los monta el script head.php, pero si lo modifico para que incluya las líneas que requiere el google maps, entonces en cualquier página del portal se cargará lo necesario para montar el mapa, lo vaya a mostrar o no :(
Además todavía no he encontrado dónde se define la línea <body> en el PHP Nuke, y menos como añadir el <div id="map"... dentro del texto de PHP Nuke ¿no tiene una opción de editar directamente en HTML en lugar de sus códigos cutres? (si, supongo que es un módulo que no tengo instalado).
En fin, que tras ver lo coñazo que iba a ser montar esto, se me ocurrieron dos opciones: el enlace cutre a página cutre que muestre el mapa, o buscar algún módulo, plugin, extensión o como se llame, para PHP que me permita integrar fácilmente mapas del Google Maps.
Como para la primera opción siempre tengo tiempo, me he puesto a buscar algo ya hecho específicamente para PHP Nuke, y ¡oh sorpresa! encuentro antes un "bloque" para Virtual Earth que para Google Maps, y además tiene mejor resolución (buscad la calle Cardenal Cervantes de Tarragona y comparad, lo siento, pero no he logrado poner enlace directo a este mapa, en eso es más fácil el de Google). He encontrado otro "bloque" para Google Maps, pero parece que sólo añade un link a la Estatua de la Libertad.
A ver si encuentro una buena guía o documentación de PHP Nuke porque empiezo a perderme entre bloques, módulos y extras varios. También espero no tener que programarme mi propio módulo/bloque/plugin/loquesea para poder integrar Google Maps en el portal.