Resultados 1 al 14 de 14

Agregar Paginas personalizadas a vBulletin 4 (Test.php en vB4.x)

Esta es una discusión en el tema Agregar Paginas personalizadas a vBulletin 4 (Test.php en vB4.x) dentro del foro Tutoriales de programación, parte de la categoría vBulletin; Si tienes la necesidad de Crear una nueva Pagina para tu vBulletin y presentar algun dato, ya sea estatico o consultando a la base de datos, con esta Guia lo podrás hacer Esta es una Actualizacion a la Guia: Guía para Agregar Paginas personalizadas a vBulletin (Test.php) - vBSoporte de ...



  1. #1
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    21/jun/2012
    Mensajes
    1.460
    Gracias
    2
    Agradecido 57 veces en 35 mensajes
    Poder de Credibilidad
    10

    Predeterminado Agregar Paginas personalizadas a vBulletin 4 (Test.php en vB4.x)

    Si tienes la necesidad de Crear una nueva Pagina para tu vBulletin y presentar algun dato, ya sea estatico o consultando a la base de datos, con esta Guia lo podrás hacer


    Esta es una Actualizacion a la Guia:
    Guía para Agregar Paginas personalizadas a vBulletin (Test.php) - vBSoporte de la version 3.x asi que practicamente lo mismo pero adaptado a usarlo con vBulletin 4.x

    Observacion Importante:
    Antes en vBulletin 3.x uno podia crear una variable en cualquier lugar del PHP y luego llamarlo en la plantilla, es decir, yo podia poner al inicio del codigo un $mi_nick='Jhonnyf'; y cuando hacia el eval('print_output("' . fetch_template('test') . '");'); basta con que en esa plantilla (Test) se llame a $mi_nick y este se mostraba.

    Ahora en vB4, eso ya no ocurre, solo se admite el uso de una variable del PHP en las plantillas si la has REGISTRADO previamente antes de compilarla (hacerle un RENDER)


    Tutorial
    Creamos un Archivo y lo llamaremos TEST.PHP con el siguiente contenido:
    Código 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, si no las pones vBulletin ejecutará una consulta extra para obtenerla
            
    'test'//RECUERDA QUE ESTE ES EL NOMBRE DE LA PLANTILLA QUE CREASTE
    );

    // pre-cache Plantillas usadas para Acciones
    $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 construct_navbits(array('' => 'Test Page')); //creamos el Arreglo con el Arbol del Navbar
    $navbar render_navbar_template($navbits);  //Compilamos la Plantilla Navbar y con eso el Arbol se vera en el NavBar (el arbol que sale cuando entras a un tema, etc en el navbar)

    // ###### Variables Propias y todo el Proceso que quieras hacer #####
    $pagetitle 'Pagina de Prueba';

    // ###### Luego de tener todos los datos, comenzamos con el manejo de la Plantilla y su compilacion (RENDERED) ######

    $templater vB_Template::create('test'); //Creamos un Objeto de tipo Plantilla basado en el Test
    $templater->register_page_templates(); //Registramos las variables comunes de vbulletin como el header, headerinclude, footer, etc
    $templater->register('navbar'$navbar); //registramos el navbar que hemos creado basado en nuestro arbol
    $templater->register('pagetitle'$pagetitle); //registramos la variable $pagetitle con el nombre de pagetitle dentro de las plantillas
    $templater->register('mensaje''Un Mensaje sin necesidad de una Variable en PHP'); //registramos un mensaje con el nombre de mensaje dentro de las plantillas
    print_output($templater->render()); //Imprimimos en pantalla compilandolo
    ?>
    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

    Observacion con las variables en Plantillas
    Las variables en plantilla se llaman de la siguiente forma: {vb:raw pagetitle} {vb:raw mensaje} (recuerda que es el nombre con la que lo registramos) y si las trabajamos dentro de un IF, se manejar como PHP (<vb:if condition="$mensaje=='algo'">)

    Código HTML:
    {vb:stylevar htmldoctype}
    <html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
      <head>
        <title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title>
        {vb:raw headinclude}
        {vb:raw headinclude_bottom}
      </head>
      <body>
        
        {vb:raw header}
        
        {vb:raw navbar}
        
        <div id="pagetitle">
          <h1>{vb:raw pagetitle}</h1>
        </div>
        
        <h2 class="blockhead">Titulo de la Tabla</h2>
        <div class="blockbody">
          <div class="blockrow">
            Texto 1
        </div>
        <div class="blockrow">
            {vb:raw mensaje}
        </div>
        </div>
        
        {vb:raw footer}
      </body>
    </html>
    Observa que la variable {vb:raw mensaje} no existe en el PHP, pero fue creada al momento de registrar las variables

    Y haciendo todo eso ya tienes tu propia Pagina Personalizada para vBulletin 4.x



    Temas Similares:
    Imágenes adjuntadas Imágenes adjuntadas

  2. Los siguientes 4 usuarios han agradecido a Jhonnyf por este útil mensaje:

    вõѕѕ (18/08/2010), DirectXp7 (03/12/2010), Julius Romo (24/09/2010), Miguelitros (17/10/2010)

  3. crear paginas vbulletin

    pagina nueva vbulletin

    pagina nueva en vbulletin 4.2

    vbulletin como crear una pagina perzonalizada

    trucos vbulletin 4.0

    crear pagina forum.php sin nada vbulletin

  4.     
  5. #2
    Usuario Avatar de Miguelitros
    Fecha de ingreso
    19/nov/2009
    Ubicación
    Madrid - España
    Edad
    35
    Mensajes
    33
    Gracias
    18
    Agradecido 9 veces en 8 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Hola, Jhonnyf:

    A mi me surge un problema con esto, y es que solo pueden acceder a estas páginas las personas que están logeadas en el foro.
    Si entro como visitante se me queda la pantalla en blanco con el siguiente error...
    Acces denied
    ¿Cómo podría solucionar este problema?.

    Muchas gracias...



  6. #3
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    21/jun/2012
    Mensajes
    1.460
    Gracias
    2
    Agradecido 57 veces en 35 mensajes
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Ponme todo en un ZIP y subelo, y dame la URL de donde lo tienes subido..

    por ahi algo has hecho mal, o quizas sea problema en tu server por la version del PHP o similar



  7. #4
    Usuario Avatar de Miguelitros
    Fecha de ingreso
    19/nov/2009
    Ubicación
    Madrid - España
    Edad
    35
    Mensajes
    33
    Gracias
    18
    Agradecido 9 veces en 8 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Gracias Jhonnyf. Mira, estoy usando este hack Tab and Link Manager Lite
    para crear pestañas en mi foro, y a cada pestaña le he asignado una página personalizada. Te voy a subir por ejemplo la de Patrocinadores para que puedas testearla.

    Cree una plantilla patrocinadores que es esta y la puse en Plantillas Personalizadas...
    Código PHP:
    {vb:stylevar htmldoctype}
    <
    html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
      <
    head>
        <
    title>{vb:raw vboptions.bbtitle} - Patrocinadores</title>
        {
    vb:raw headinclude}
        {
    vb:raw headinclude_bottom}
      </
    head>
      <
    body>
        
        {
    vb:raw header}
        
        {
    vb:raw navbar}
        
    <
    div id="pagetitle">
          <
    h1>{vb:raw pagetitle}</h1>
    </
    div>
        
    <!-- 
    Título Barra -->
        
        <
    h2 class="blockhead"><b>Índice de Patrocinadores</b></h2>

    <!-- 
    INDICE --> 

    <
    div class="blockbody"
            <
    ol type="I" style="margin-top: 10px">

    <
    li class="patrocinadores"> <a href="http://www.misitio.com/patrocinadores.php/#rule1"><b>webdelpatrocinador.com</b></a></li>
    <
    br

    <!-- 
    Patrocinador 1 -->

    <
    div class="block"
    <
    h2 class="blockhead"><a name="rule1"></a><b>Nombre del Patrocinador</b></h2
    <
    div class="blockbody"
    <
    br>

    <
    a href="http://www.sitiodelpatrocinador.com/" target="_blanck"><img src="www.misitio.com/fotos/patrocinador.jpg"></a><br><br>

    <
    div style="float:left;"><img src="www.misitio.com/fotos/descuento5.jpg" hspace="5"></div>Beneficiate de un <b>5de descuento</ben faros<brdelanteros y pilotos traseros en <b>webdelpatrocinador.com</b><brpor el simple hecho de ser usuario de nuestro foro.<br><br>
    Visita su web para ver el catálogo de productos.<br><br>
    <
    a href="http://www.sitiodelpatrocinador.com" target="_blanck"><b>www.sitiodelpatrocinador.com</b></a>
    <
    br><br><br><br><br><br><br>

    <
    div>
    <
    a href="http://www.misitio.com/presupuesto_patrocinador.php"><img src="www.misitio.com/botones/presupuesto.png"></a></div>
    <
    br><br>

    <!-- 
    Fin Patrocinador 1 -->

    <
    HR size=3 color="#204E76" width=100align="center"><br

    </
    div></div>

      </
    body>
        {
    vb:raw footer}
      
    </
    html
    La página que subí al FTP te la dejo en el .rar adjunto. Están subidas a la raíz de mi foro. Osea, en http://www.misitio.com/patrocinadores.php.
    Puedes acceder a mi web desde mi perfil.

    Gracias por tu ayuda...


    Archivos adjuntados Archivos adjuntados

  8. El siguiente usuario ha agradecido a Miguelitros por este útil mensaje:

    speet (03/08/2011)

  9. #5
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    21/jun/2012
    Mensajes
    1.460
    Gracias
    2
    Agradecido 57 veces en 35 mensajes
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Listo, para solucionar tu problema debes quitar los espacios en blanco que esten fuera del <?PHP ?>, dale una leida a este tema:

    Corregir error de Warning: Cannot modify header information | El Codigo Fuente

    Supongo que te da ese error y no el que deberia por un tema de configuracion del servidor.

    Aqui el Archivo Corregido (sin esos espacios en blanco)


    Archivos adjuntados Archivos adjuntados

  10. Los siguientes 2 usuarios han agradecido a Jhonnyf por este útil mensaje:

    Miguelitros (17/10/2010), speet (03/08/2011)

  11. #6
    Usuario Avatar de Miguelitros
    Fecha de ingreso
    19/nov/2009
    Ubicación
    Madrid - España
    Edad
    35
    Mensajes
    33
    Gracias
    18
    Agradecido 9 veces en 8 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Increible Jhonnyf, como siempre tu ayuda ha sido inmejorable.
    Funciona a la perfección!.
    Esa tontería me podía hacer perder muchos visitantes.

    Muchísimas gracias.



  12. #7
    Usuario
    Fecha de ingreso
    06/ene/2012
    Mensajes
    1
    Gracias
    0
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    muchas gracias herano funciona de 10



  13. #8
    Usuario Avatar de terrona
    Fecha de ingreso
    19/nov/2009
    Mensajes
    69
    Gracias
    28
    Agradecido 33 veces en 18 mensajes
    Poder de Credibilidad
    4

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Hola tengo un problemilla me da este error al crear la pagina personalizada.


    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at [path]/busc.php:1) in [path]/includes/facebook/facebook.php on line 37

    la verdad es que no se por que puede ser a ver si me puedes echar una mano Jhonnyf



  14. #9
    Usuario Avatar de terrona
    Fecha de ingreso
    19/nov/2009
    Mensajes
    69
    Gracias
    28
    Agradecido 33 veces en 18 mensajes
    Poder de Credibilidad
    4

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    ya esta solucionado, saludos.



  15. #10
    Usuario
    Fecha de ingreso
    12/feb/2013
    Edad
    20
    Mensajes
    4
    Gracias
    0
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Revivo el tema porque tengo un problema cerio,no me funciona, hice todo lo mencionado arriba pero la plantilla test se me muestra en blanco"sin partes del foro,sin contenido" con una url del titulo en el navegador llamado:
    http://www.mipaginaweb.com/foro/musicvip.php

    Dejo los codigos que instale tal cual me dijieron:

    Cree un archivo llamado"musicvip.php" con este codigo tal cual esta aca escrito sin modificar nada y lo subi al directorio "foro/":
    Código 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, si no las pones vBulletin ejecutará una consulta extra para obtenerla
            
    'test'//RECUERDA QUE ESTE ES EL NOMBRE DE LA PLANTILLA QUE CREASTE
    );

    // pre-cache Plantillas usadas para Acciones
    $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 construct_navbits(array('' => 'Test Page')); //creamos el Arreglo con el Arbol del Navbar
    $navbar render_navbar_template($navbits);  //Compilamos la Plantilla Navbar y con eso el Arbol se vera en el NavBar (el arbol que sale cuando entras a un tema, etc en el navbar)

    // ###### Variables Propias y todo el Proceso que quieras hacer #####
    $pagetitle 'Pagina de Prueba';

    // ###### Luego de tener todos los datos, comenzamos con el manejo de la Plantilla y su compilacion (RENDERED) ######

    $templater vB_Template::create('test'); //Creamos un Objeto de tipo Plantilla basado en el Test
    $templater->register_page_templates(); //Registramos las variables comunes de vbulletin como el header, headerinclude, footer, etc
    $templater->register('navbar'$navbar); //registramos el navbar que hemos creado basado en nuestro arbol
    $templater->register('pagetitle'$pagetitle); //registramos la variable $pagetitle con el nombre de pagetitle dentro de las plantillas
    $templater->register('mensaje''Un Mensaje sin necesidad de una Variable en PHP'); //registramos un mensaje con el nombre de mensaje dentro de las plantillas
    print_output($templater->render()); //Imprimimos en pantalla compilandolo
    ?>
    Cree una plantilla desde el admincp llamada: Plantilla: musicvip.php (id: 2020)

    Nombre de la plantilla: musicvip.php
    Interior de la Plantilla:
    Código PHP:
    {vb:stylevar htmldoctype}
    <
    html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
      <
    head>
        <
    title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title>
        {
    vb:raw headinclude}
        {
    vb:raw headinclude_bottom}
      </
    head>
      <
    body>
        
        {
    vb:raw header}
        
        {
    vb:raw navbar}
        
        <
    div id="pagetitle">
          <
    h1>{vb:raw pagetitle}</h1>
        </
    div>
        
        <
    h2 class="blockhead">Titulo de la Tabla</h2>
        <
    div class="blockbody">
          <
    div class="blockrow">
            
    Texto 1
        
    </div>
        <
    div class="blockrow">
            {
    vb:raw mensaje}
        </
    div>
        </
    div>
        
        {
    vb:raw footer}
      </
    body>
    </
    html
    Me pueden explicar que hize mal porfavor que es importante
    Yo no modifique los codigos, los pege tal cual estan,quizas puede ser eso?
    Version de vb 4.2



  16. #11
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    21/jun/2012
    Mensajes
    1.460
    Gracias
    2
    Agradecido 57 veces en 35 mensajes
    Poder de Credibilidad
    10

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Tu error es simple, el php está llamando a una plantilla llamada TEST
    Código PHP:
    $globaltemplates = array(
            
    // Pon aqui todas las plantillas que hayas creado, si no las pones vBulletin ejecutará una consulta extra para obtenerla
            
    'test'//RECUERDA QUE ESTE ES EL NOMBRE DE LA PLANTILLA QUE CREASTE
    );
    .....
    ....
    ...
    $templater vB_Template::create('test'); //Creamos un Objeto de tipo Plantilla basado en el Test 
    y tu plantilla se llama musicvip.php

    cambia el nombre de la plantilla a llamar en el PHP



  17. #12
    Usuario
    Fecha de ingreso
    12/feb/2013
    Edad
    20
    Mensajes
    4
    Gracias
    0
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    muchisimas gracias error solucionado, una ultima pregunta desde este tema.

    Como hago para que dicha plantilla "musicvip" solamente lo vean los usuarios del grupo "vip" y administradores
    ya que no quiero que utilizen el sistema los usuarios normales"registrados" y guest.



  18. #13
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    21/jun/2012
    Mensajes
    1.460
    Gracias
    2
    Agradecido 57 veces en 35 mensajes
    Poder de Credibilidad
    10

  19. #14
    Usuario
    Fecha de ingreso
    16/feb/2011
    Edad
    26
    Mensajes
    2
    Gracias
    0
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Respuesta: Agregar Paginas personalizadas a vBulletin 4 (Test.php

    Que tal Jhonnyf, perdon que reviva este tema, es muy interesante tu aporte, pero como lo hago de manera local?, ya que si yo abro el test.php de manera local me muestra el codigo

    No mostrar Adsense, algo especial etc, etc */ // #################### 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, si no las pones vBulletin ejecutará una consulta extra para obtenerla 'test', //RECUERDA QUE ESTE ES EL NOMBRE DE LA PLANTILLA QUE CREASTE ); // pre-cache Plantillas usadas para Acciones $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 = construct_navbits(array('' => 'Test Page')); //creamos el Arreglo con el Arbol del Navbar $navbar = render_navbar_template($navbits); //Compilamos la Plantilla Navbar y con eso el Arbol se vera en el NavBar (el arbol que sale cuando entras a un tema, etc en el navbar) // ###### Variables Propias y todo el Proceso que quieras hacer ##### $pagetitle = 'Pagina de Prueba'; // ###### Luego de tener todos los datos, comenzamos con el manejo de la Plantilla y su compilacion (RENDERED) ###### $templater = vB_Template::create('test'); //Creamos un Objeto de tipo Plantilla basado en el Test $templater->register_page_templates(); //Registramos las variables comunes de vbulletin como el header, headerinclude, footer, etc $templater->register('navbar', $navbar); //registramos el navbar que hemos creado basado en nuestro arbol $templater->register('pagetitle', $pagetitle); //registramos la variable $pagetitle con el nombre de pagetitle dentro de las plantillas $templater->register('mensaje', 'Un Mensaje sin necesidad de una Variable en PHP'); //registramos un mensaje con el nombre de mensaje dentro de las plantillas print_output($templater->render()); //Imprimimos en pantalla compilandolo ?>



Etiquetas de este tema

Foro | Chat & Chats | Hello Kitty | Programacion | Foro Cristiano | Chats | Chat Foro | Perú | SummArg