Algo que cambió con vBulletin 4.x es la forma de declarar variables en php para usarlas en plantillas. Les quiero mostrar un sencillo ejemplo de como llamar una página externa en php y mostrar las variables en la plantilla navbar, pondremos un script que evaluará si el usuario navega desde Internet Explorer u otro navegador para mostrar un mensaje pensonalizado.
Lo primero es crear un archivo en php con el siguiente código:
Guardamos el script como navegador.php y la subimos al root de nuestro foro.Código:<?php $IE= "Hola desde Internet Explorer"; //declaramos la variable para mostrar en Internet Explorer $otro="Hola desde otro Navegador"; // declaramos la variable para el mensaje de otros navegadores $navegador = getenv("HTTP_USER_AGENT"); //evaluamos el navegador el cual nos dará como resultado mostrar una de las dos variables if (preg_match("/MSIE/i", "$navegador")) {$mensaje=$IE;} else {$mensaje=$otro;} echo $mensaje; ?>
En segundo lugar vamos a crear un plugin con el siguiente código (en mi caso como es en la navbar usaré un inicio global, pero depende de la plantilla donde se quiere mostrar podemos usar el Debug Mode para ver los hooks que se usan es la plantilla).
Producto: vbulletin
Ubicación de enganche: global_start
Título: Mensaje desde PHP
Código PHP de plugin:
ob_start();
include('navegador.php');
$mensaje = ob_get_contents();
ob_end_clean();
vB_Template::preRegister('navbar',array('mensaje' => $mensaje));
Plugin activo : Si
Con lo anterior hemos traido una variable de una página externa para mostrarla en la plantilla navbar, para ello pondremos {vb:raw mensaje}
Para mejorar la forma en que se mostrará el mensaje vamos a la plantilla additional.css y creamos una nueva clase con el siguiente código
Ya con la clase creada, vamos a la plantilla navbar y añadimos la variable de la siguiente formaCódigo:.anuncio_navegador { font-family: Arial, Helvetica, sans-serif; font-size: 24px; color: #FFF; background-color: #06F; font-variant: small-caps; text-transform: capitalize; }
Buscamos
Añadimos antes del anterior código, lo siguienteCódigo:{vb:raw ad_location.ad_navbar_below}
Ya haciendo esto nos dará el siguiente resultado desde firefox u otro navegadorCódigo:<div class="anuncio_navegador" align="center">{vb:raw mensaje}</div>
Y así nos saldrá en Internet Explorer
![]()