- Desde
- 6 Sep 2008
- Mensajes
- 959
Bueno, esto es lo que deben saber para poder hacer una pagina nueva para su vBulletin, y los primeros pasos si desean hacer un plugin que necesite de una pagina php adicional.
Lo grabamos como test.php y lo subimos al Hosting...
Si intentas entrar no verán nada ya que ese php no imprime nada de por si solo, imprime el contenido de la plantilla test, asi que creamos esa plantilla...
Vamos Estilos y Plantillas -> Administrador de Estilos ->
Abrimos el <<>> y en el combo escogemos CREAR NUEVA PLANTILLA
en la plantilla ponemos lo siguiente (todo aqui es importante pero a la vez lo puedes sacar) y lo grabas como test
Y finalmente entras asi tuforo.com/test.php
y para que aparesca en ONLINE cuando ven esa pagina... crea 2 plugin con la siguiente Estructura:
Y al final verán algo como esto (borre el logo y esas cosas porque es mi foro de prueba U_U)
PHP:
<?
// ######################## SET ENTORNO PHP ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINIR COSNTANTES IMPORTANTES #######################
define('THIS_SCRIPT', 'test');
/*
este es el nombre de este Scrit, asi que en las plantillas podran usar una condicion asi:(en el Navbar o footer por ejemplo)
<if condition="THIS_SCRIPT == 'test'">
No mostrar Adsense, algo especial etc, etc
</if>
*/
// #################### PRE-CACHE DATOS Y PLANTILLAS ######################
//Obtener Grupo de Frases Especiales
$phrasegroups = array();
//Obtener Plantillas Especiales desde el datastore
$specialtemplates = array();
// pre-cache Plantillas usadas en todas las Acciones de este php
$globaltemplates = array(
// Pon aqui todas las plantillas que hayas creado, pero curiosamente si no las pones, igualito funciona (esto es lenguaje c pues
'test', //RECUERDA QUE ESTE ES EL NOMBRE DE LA PLANTILLA QUE CREASTE
);
// pre-cache Plantillas usadas para Acciones Estemplates used by specific actions
$actiontemplates = array();
// ########################## REQUERIDO ############################
require_once('./global.php'); //con esto cargas todas las opciones de vBulletin, ademas de la conexion, acceso a MySQL, etc, etc
// #######################################################################
// ######################## COMIENZO DEL SCRIPT PRINCIPAL ############################
// #######################################################################
$navbits = array();
$navbits[$parent] = 'Pagina de Prueba'; //esto se vera en el NavBar (el arbol que sale cuando entras a un tema, etc en el navbar)
$navbits = construct_navbits($navbits); //Que vBulletin lo compile a su manera
eval('$navbar = "' . fetch_template('navbar') . '";'); //Luego usamos esa compilacion con la plantilla navbar (que será llamado en la plantilla prueba
eval('print_output("' . fetch_template('test') . '");'); //y Finalmente llamamos a nuestra plantilla personalizada
?>
Si intentas entrar no verán nada ya que ese php no imprime nada de por si solo, imprime el contenido de la plantilla test, asi que creamos esa plantilla...
Vamos Estilos y Plantillas -> Administrador de Estilos ->
Abrimos el <<>> y en el combo escogemos CREAR NUEVA PLANTILLA
en la plantilla ponemos lo siguiente (todo aqui es importante pero a la vez lo puedes sacar) y lo grabas como test
HTML:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle] - NOMBRE QUE SALDRÁN COMO TITULO EN EL NAVEGADOR</title>
</head>
<body>
$header
$navbar <!--Esto llama a la variable que se construyó en el php-->
<!--INICIO DEL CONTENIDO QUE DESEAS MOSTRAR-->
<!--Basicamente se hace para que se vea una tabla usando los colores de su foro-->
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%"
align="center">
<tr>
<td class="tcat">Titulo de la Tabla, usando los colores de Categoria</td>
</tr>
<tr>
<td class="alt1">una celda de un color </td>
</tr>
<tr>
<td class="alt2">Otra celda de otro color </td>
</tr>
<tr>
<td class="tfoot">Pîe de la Tabla</td>
</tr>
</table>
<!--FIN DEL CONTENIDO QUE DESEAS MOSTRAR-->
$footer
</body>
</html>
y para que aparesca en ONLINE cuando ven esa pagina... crea 2 plugin con la siguiente Estructura:
PHP:
Producto: vBulletin
Hook: online_location_process
Titulo del Plugin: Localizacion de Test
Codigo PHP del Plugin:
if ($filename == 'test.php')
{
$userinfo['activity'] = 'test';
}
Plugin Activo: Yes/Si
PHP:
Producto: vBulletin
Hook: online_location_unknown
Titulo: Localizacion (Parte 2)
PHP del Codigo:
if ($userinfo['activity'] == 'test')
{
$userinfo['action'] = 'Viendo Pagina Test';
$userinfo['where'] = '<a href="./test.php?' . $vbulletin->session->vars['sessionurl'] . '">Pagina Test</a>';
$handled = true;
}
Plugin Activo: Yes/Si