Resultados 1 al 7 de 7

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 Programación avanzada y trabajos Freelance; 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
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.363
    Gracias
    60
    Agradecido 1.104 veces en 565 mensajes
    Entradas de Blog
    1
    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:
    Miniaturas adjuntadas Miniaturas adjuntadas testvb4.gif  
    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

  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. #2
    Usuario Avatar de Miguelitros
    Fecha de ingreso
    19/nov/2009
    Ubicación
    Madrid - España
    Edad
    34
    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...


  4. #3
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.363
    Gracias
    60
    Agradecido 1.104 veces en 565 mensajes
    Entradas de Blog
    1
    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

    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

  5. #4
    Usuario Avatar de Miguelitros
    Fecha de ingreso
    19/nov/2009
    Ubicación
    Madrid - España
    Edad
    34
    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
    Última edición por Miguelitros; 17/10/2010 a las 09:22

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

    speet (03/08/2011)

  7. #5
    Administrador Avatar de Jhonnyf
    Fecha de ingreso
    13/jun/2009
    Ubicación
    In my mind
    Mensajes
    1.363
    Gracias
    60
    Agradecido 1.104 veces en 565 mensajes
    Entradas de Blog
    1
    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
    [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

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

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

  9. #6
    Usuario Avatar de Miguelitros
    Fecha de ingreso
    19/nov/2009
    Ubicación
    Madrid - España
    Edad
    34
    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.


  10. #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


Etiquetas de este tema

Foro | Chat y Juegos | Hello Kitty | Programacion | Foro Cristiano | XAT | Chat Foro | Perú | SummArg