Buenas tardes foreros, esta vez estoy por aquí para dejarles un aporte y no, como siempre, una pregunta. Tras la necesidad que tuve de incluir un archivo programado en php externo a mi foro y tras varios intentos fallidos, llegue a una solución y queria compartirla con todos ustedes, ya que es una opción muy util y programar en las plantillas de vBulletin se vuelve un poco tedioso sumandole las restricciones que esta presenta. Ultima cosa para aclarar, no sé si este metodo funcione en otras versiones de vBulletin, yo lo he probado solo en la 4.2.1, pero supongo que si, es cuestión de intentar. Sin más introducción, comencemos con la guia.
Muchos de ustedes, tal como yo lo hice en su momento, seguramente ha intentado llamar archivos externos desde plantillas de vbulletin personalizadas, utilizando los codigos, include o require_once sin tener éxito alguno. Tras horas de dolores de cabeza, he encontrado la solución creando un Plugin y les enseñare como.
Incluir PHP externo a vBulletin mediante Plugin
En la nueva ventana veremos las opciones Hook Location, Title, Execution Order y Plugin PHP Code.
Plugin PHP Code:
Dos cosas a cambiar:
- require_once('archivo.php');, tiene que ser cambiado por el archivo que ustedes quieren incluir
- B_Template:reRegister('template',array('php_include' => $php_include));, debe ser reemplazado por el nombre del template donde utilizarán o llamarán al archivo php.
Ya tenemos todo listo, una aclaración antes de seguir y guardarlo, es que si quieren usar este PHP en más de un template, deben repetir la ultima línea, ingresando los templates adicionales, como muestra el ejemplo siguiente.
Plugin PHP Code (Ejemplo - 2 Templates):
Ya tenemos todo listo, ahora guardamos y nuestro plugin estará listo para usarlo. Ahora...¿Como llamar al archivo php del Plugin?
Llamando al Plugin creado desde Template
Código:
Es todo! Problema resuelto y tienen su archivo php externo en su sitio.
¡NOTA IMPORTANTE!: Recuerden que todo lo que programen en MySQL en el archivo externo debe tener el formato que utiliza vBulletin, sino no les funcionara. Lo demás, tablas, información, les funcionará sin problemas.
Espero que se entienda, intente hacerlo lo más didactico y fácil posible, y por sobre todo, que les sirva.
Saludos.
Muchos de ustedes, tal como yo lo hice en su momento, seguramente ha intentado llamar archivos externos desde plantillas de vbulletin personalizadas, utilizando los codigos, include o require_once sin tener éxito alguno. Tras horas de dolores de cabeza, he encontrado la solución creando un Plugin y les enseñare como.
Incluir PHP externo a vBulletin mediante Plugin
- El primer paso a realizar, es ingresar al Panel de Administración de nuestro foro
- Una vez dentro nos dirigimos y desplegamos el menu de Plugins & Products y seleccionamos Plugin Manager
- Seleccionamos en la parte inferior la opción [Add New Plugin] para añadir un plugin nuevo
En la nueva ventana veremos las opciones Hook Location, Title, Execution Order y Plugin PHP Code.
- Hook Location: si no estamos seguros de lo que hacemos pongamos global_start
- Title: titulo del Plugin que vamos a crear
- Execution Order: a criterio, pueden dejarlo por defecto
- Plugin PHP Code: Lo importante esta acá, en este box se colocará el código que cargará este plugin.
Plugin PHP Code:
Código:
ob_start(); require_once('archivo.php'); $php_include = ob_get_contents(); ob_end_clean(); vB_Template::preRegister('template',array('php_include' => $php_include));
- require_once('archivo.php');, tiene que ser cambiado por el archivo que ustedes quieren incluir
- B_Template:reRegister('template',array('php_include' => $php_include));, debe ser reemplazado por el nombre del template donde utilizarán o llamarán al archivo php.
Ya tenemos todo listo, una aclaración antes de seguir y guardarlo, es que si quieren usar este PHP en más de un template, deben repetir la ultima línea, ingresando los templates adicionales, como muestra el ejemplo siguiente.
Plugin PHP Code (Ejemplo - 2 Templates):
Código:
ob_start(); require_once('archivo.php'); $php_include = ob_get_contents(); ob_end_clean(); vB_Template::preRegister('template',array('php_include' => $php_include); vB_Template::preRegister('template2',array('php_include' => $php_include));
Llamando al Plugin creado desde Template
- Primero que nada navegaremos a través del Style Manager e ingresamos al template donde utilizaremos/llamaremos al archivo php, es decir, el mismo que especificamos en el plugin.
- Una vez dentro, solo tendremos que hacer uso del siguiente código para llamarlo.
Código:
Código:
{vb:raw php_include}
¡NOTA IMPORTANTE!: Recuerden que todo lo que programen en MySQL en el archivo externo debe tener el formato que utiliza vBulletin, sino no les funcionara. Lo demás, tablas, información, les funcionará sin problemas.
Espero que se entienda, intente hacerlo lo más didactico y fácil posible, y por sobre todo, que les sirva.
Saludos.
Comentario