- Desde
- 6 Sep 2008
- Mensajes
- 959
Recuerda que aqui hay un ejemplo más basico
Enlace eliminado
este tutorial es para listar el contenido de alguna tabla tal y como se muestra los temas cuando uno entra en los foros , solo vamoa a mostrar los temas con el id de 1 al 10
la idea de este ejemplo es aprender a hacer consultar que nos den resultados multiples (query_read de vBulletin) recorrer los resultados y mostrarlos como si fuera una pagina más de vbulletin
cuando hagas tu php, llama al global.php de vBulletin para tener todas sus funciones, conexion a la base de datos, stylos, etc.... la programacion usando el "Kit de vBulletin", es bastante facil.....
vamos a crear 2 plantillas personalizadas en vbulletin, una la vamos a llamar mostrar10temas que será la que contena el navbar, y la apertura de la tabla para el listado, cerrado de la tabla, pie del foro, etc... y otro que se llamará mostrar10temasbit, que será cada uno de los registros a mostrar.
por el momento solo vamos a definir que nombre vamos a usar, luego la codificaremos
este seria el contenido del archivo que lo llamaremos mostrar10.php
el contenido de las plantillas seria:
mostrar10temasbit: (el que crea los registros individuales)
como verás, estamos usando la variable $mis10temas, que sale del php cuando usamos los registro de manera individiual, como se hizo un select *, tenemos todos los campos de la tabla thread disponibles para usarlo con esa variable
-------------------------------
mostrar10: El que arma la pagina principal, puedes quierle el navbar, el footer o todo lo que quieras
Aqui usamos la variable $listadosquecrece que se creó en el php y que contiene la acumulacion de los registros a mostrar
**************************************************************
Espero que este tutorial les sea util al menos para entender como se crea una pagina propia para vbulletin con datos de la base de datos.
como verán es bastante facil y nada complicado el usar las funciones y variables de vBulletin a nuestro beneficio..
NOTA: si deseas mover este archivo a una ubicacion diferente de la raiz de tu foro, debes poner antes de la llama del global el cambio de directorio, asi que quedaria asi:
OJO que "/home/site/public_html/forums" depende de tu host, asi que es variable
Aqui el ejemplo de como quedaria
http://www.ciudadanime.com/mostrar10.php
Enlace eliminado
este tutorial es para listar el contenido de alguna tabla tal y como se muestra los temas cuando uno entra en los foros , solo vamoa a mostrar los temas con el id de 1 al 10
la idea de este ejemplo es aprender a hacer consultar que nos den resultados multiples (query_read de vBulletin) recorrer los resultados y mostrarlos como si fuera una pagina más de vbulletin
cuando hagas tu php, llama al global.php de vBulletin para tener todas sus funciones, conexion a la base de datos, stylos, etc.... la programacion usando el "Kit de vBulletin", es bastante facil.....
vamos a crear 2 plantillas personalizadas en vbulletin, una la vamos a llamar mostrar10temas que será la que contena el navbar, y la apertura de la tabla para el listado, cerrado de la tabla, pie del foro, etc... y otro que se llamará mostrar10temasbit, que será cada uno de los registros a mostrar.
por el momento solo vamos a definir que nombre vamos a usar, luego la codificaremos
este seria el contenido del archivo que lo llamaremos mostrar10.php
PHP:
<?
// ######################## SET ENTORNO PHP ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINIR COSNTANTES IMPORTANTES #######################
define('THIS_SCRIPT', 'mostrar10');
/*
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 == 'mostrar10'">
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
'mostrar10',
'mostrar10temasbit',//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 ############################
// #######################################################################
$temas_query = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "thread where threadid>1 and threadid<10"); //llenamos $temas_query con los resultados de la consulta, se va a comportar como un array
if ($vbulletin->db->num_rows($temas_query) > 0) //verificamos que tenga al menos 1 registro para comenzar a procesarlos
{
while ($mis10temas = $vbulletin->db->fetch_array($temas_query)) //haces que cada registro de la consulta, se guarde individualmente en $mis10temas para poder usar esta variable en nuestra plantilla
{
//aqui la funcion para convertir la fecha de numero a fecha dd/mm/yyyy basado en vbulletin y la hora local del usuario
$mis10temas['dateline'] = vbdate($vbulletin->options['dateformat'], $mis10temas['dateline']);
$mis10temas['lastpost'] = vbdate($vbulletin->options['dateformat'], $mis10temas['lastpost']);
eval('$listadosquecrece .= "' . fetch_template('mostrar10temasbit') . '";'); //aqui estamos creando una nueva variable llamada $listadosquecrece en donde estamos guardando la plantilla mostrar10temasbit procesada por cada registro,
//lo ideal seria llamarla $mostrar10temasbits (plural), pero por motivos de tutorial estoy usando otro nombre de variable para que no se equivoquen
};
}
else
{
eval('$listadosquecrece = "' . "<tr><td class='alt1' colspan=5><center>No registros</center></td></tr>" . '";');
//si no hay registros muestro que ese mensaje como un TD en la tabla, le puse colspan=5 porque serán 5 las columnas que mostraré
}
$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('mostrar10') . '");'); //y Finalmente llamamos a nuestra plantilla mostrar10, que ahi esta llamando a la variable que contiene los registros a mostrar :D
?>
mostrar10temasbit: (el que crea los registros individuales)
HTML:
<tr>
<td class="alt1">$mis10temas[threadid]</td>
<td class="alt2">$mis10temas[title]</td>
<td class="alt1">$mis10temas[postusername]</td>
<td class="alt2">$mis10temas[dateline]</td>
<td class="alt1">$mis10temas[lastpost]</td>
</tr>
-------------------------------
mostrar10: El que arma la pagina principal, puedes quierle el navbar, el footer o todo lo que quieras
HTML:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle] - Listado de los 10 primeros Temas</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">Id del tema</td>
<td class="tcat">Titulo</td>
<td class="tcat">Creador</td>
<td class="tcat">Fecha de creacion</td>
<td class="tcat">Ultimo que posteó</td>
</tr>
$listadosquecrece
</table>
<!--FIN DEL CONTENIDO QUE DESEAS MOSTRAR-->
$footer
</body>
</html>
**************************************************************
Espero que este tutorial les sea util al menos para entender como se crea una pagina propia para vbulletin con datos de la base de datos.
como verán es bastante facil y nada complicado el usar las funciones y variables de vBulletin a nuestro beneficio..
NOTA: si deseas mover este archivo a una ubicacion diferente de la raiz de tu foro, debes poner antes de la llama del global el cambio de directorio, asi que quedaria asi:
PHP:
chdir('/home/site/public_html/forums');
require_once('./global.php');
Aqui el ejemplo de como quedaria
http://www.ciudadanime.com/mostrar10.php