Creación de Páginas Personalizadas MyBB
Hola a todos. El siguiente Tutorial que les muestro es sobre crear nuestras página personalizadas, como si fuera HTML pero dentro del foro, como el ...

Hola a todos.

El siguiente Tutorial que les muestro es sobre crear nuestras página personalizadas, como si fuera HTML pero dentro del foro, como el header, el pie, el estado de sesión etc. Sólo que al tener tu página personalizada con estas características, podrías tenerla como "nombre-archivo.php"

Ok, comenzamos con el tutorial:
Con el tutorial, les mostraré como le podrán hacer con 4 pasos sencillos para crearla junto con una tabla, pues el resultado será este:

[attachment=129]

Antes de comenzar: Ustedes podrán crear su página personalizada como ustedes quieran, pues yo les mostraré una manera para crear una página personalizada avisando del Error 404 dentro del foro. Smile

1.- Creación del archivo PHP

Esta parte es completamente sencilla, por lo que tendrán que crear un archivo PHP con el que tendrán que subirlo a su servidor y entrar cuando ya esté lista.

Crean un nuevo archivo PHP en el Bloc de Notas o Dreamweaver, y escriben:

<?php 

define ( 'IN_MYBB' , 1 ); // (1a) 
require "./global.php" ; // (1b) 

add_breadcrumb ( "Error 404" , "error_404.php" ); // (2) 

eval( "\$error_404 = \"" . $templates -> get ( "error_404" ). "\";" ); // (3) 
output_page ( $error_404 ); // (4) 
?>

Lo que está a un lado de "add_breadcrumb", es lo que indica que título va a tener la página cuando sea visitada por ejemplo: "Tu foro - Error 404". Este título es mostrado en la exploración del foro, no en la del explorador de internet que usas.

Y obvio, a un lado vas a tener que escribir el nombre del archivo PHP que estás creando, cuando sea subido al servidor.

Tambien, las demás personalizaciónes en el archivo PHP son para indicar los códigos que debemos de usar al crear nuestra plantilla para el archivo.



2.- Creación de la Plantilla:

Todas las páginas personalizadas que hagamos para nuestro foro deben de estar en las "Plantillas Globales", agregandole como título a esa plantilla el nombre del archivo PHP sin su extensión: error_404

A continuación, entramos al Panel Admin --> Plantillas y Estilos --> Plantillas --> Plantillas Globales --> Agregar Plantilla

Como título, agregan el nombre del archivo PHP que hemos creado sin su extensión: "error_404"

En el contenido de la Plantilla, agregan lo siguiente:

<html> 
<head> 
<title>{$mybb->settings[bbname]} - Error 404</title> 
{$headerinclude} 
</head> 
<body> 
{$header} 
<br />
 	<table border="0" cellspacing="1" cellpadding="4" class="tborder" style="clear: both;">
		<tr>
			<td class="thead"><strong>Error 404 - Página no encontrada</strong></td>
		</tr>
		<tr>			
<td class="trow1">
<!-- Inicio de Contenido -->
<strong>CONTENIDO DE LA PÁGINA PERSONALIZADA</strong><br />
<br />
Esta página está actualmente en construcción.<br />
Favor de regresar más tarde.
<!-- Final de Contenido -->
</td>
</tr>
</table>
{$footer}
</body> 
</html>



2.1.- Agregando el contenido y personalizando títulos:

Recuerden que la personalización de la página depende sólo de los carácteres "<!-- Inicio de Contenido -->" e "<!-- Final de Contenido -->" en la plantilla que creamos.

La parte del título puede ser personalizada como ustetedes quieran, pues esta parte es la que se mostrará en la barra del explorador que usan, y no la del foro. Incluyendo al título de la tabla, ahi es donde podrán dar un pequeño título de la tabla, en vez de tenerlo en el explorador, y en la parte pequeña del foro en donde estás ubicado.

Tambien en la creación de la tabla en la página personalizada, hay un código inicial en el que se puede cambiar el título de la tabla, puede ser "Reglas del Foro, Error 404 - Página no encontrada, etc.".

Pues, en donde podrán cambiar ese título, es donde se empieza a crear la tabla, pues es aquí:

<td class="thead"><strong>Título de la Tabla</strong></td>

Todo lo que viene en "Contenido" puede ser tambien completamente personalizable por ustedes. Wink
Si tienes dudas sobre algunos códigos para insertar en el contenido de la página, favor de ver Mini - Guía de HTML.

3.- Reemplazamiento: "Ubicación Desconocida" en Quien está en Línea:



Como algunos he visto que preguntan demasiado por reemplazar el pequeño mensaje de "Ubicación Desconocida" al ver Quien está en Línea cuando están viendo la página personalizada, agrego esta sección para que puedan personalizar ese mensaje cuando se vea la página creada.

Abren el archivo "functions_online.php" ubicado en la carpeta ./inc :

Buscar los siguietes carácteres de archivos PHP:

case "nopermission":
	$user_activity['activity'] = "nopermission";
	$user_activity['nopermission'] = 1;
	break;

En esta parte, deberán de agregar los mismos carácteres, pero esta vez indicando nuestro archivo PHP que creamos para la página personalizada. Entonces creamos la siguiente línea abajo, debería de ir así:

case "error_404":   
            $user_activity['activity'] = "error_404"; 
            break; 

Entre más páginas personalizadas esten creando, deberán de agregar estos carácteres debajo del último.

Ahora... ya que tenemos este archivo PHP abierto, buscamos lo siguiente:

		// warnings.php functions
		case "warnings_revoke":
			$location_name = $lang->revoking_warning;
			break;
		case "warnings_warn":
			$location_name = $lang->warning_user;
			break;
		case "warnings_view":
			$location_name = $lang->viewing_warning;
			break;
		case "warnings":
			$location_name = $lang->managing_warnings;
			break;

Estas funciónes son las que indican en el archivo warnings.php , pero como es el último de todas las funciónes, agregaremos una pequeña sección para algunas funciónes de nuestras páginas personalizadas que estaremos creando en el futuro.

A continuación, agregan lo siguiente:

		// customized functions
		case "error_404":
            			$location_name = 'Viendo el <a href="error_404.php">Error 404</a>'; 
            			break; 
	}

El mensaje que es mostrará en Quien está en Línea lo pueden cambiar al gusto que ustedes quieran, pero recuerden de indicar siempre el URL para redireccionar el archivo PHP.



4.- Agregando la redirección del Error 404 (Opcional):

Esta es la parte en donde agregarán la redirección al documento del Error 404 en caso de que hayan seguido este tutorial; como ejemplo, agregando el Error 404.

Primero, abran el archivo ".htaccess" ubicado en la carpeta raíz del servidor.

Aquí, es donde deberán agregar lo siguiente en las primeras líneas de texto del archivo:

ErrorDocument 404 http://urldetuforo.com/error_404.php

Esto indicará que debe de entrar al archivo PHP que creamos como página personalizada indicando el Error 404 mientras se inserta una URL incorrecta durante la navegación en el foro.



Mini - Guía de HTML (Para ayudarse en la creación del contenido de la plantilla):

Texto en Negritas:
<strong>Texto</strong>

Vínculo:
<a href="LINK-URL" title="Descripcion del Link">Nombre del Link</a>

Imágen:
<img src="URL-IMAGEN" alt="Nombre de Imagen" />

Alineaciónes:
<left>
<center>
<right>


Espacio (Vertical):
<br />
Ejemplo:
Texto...<br />
Texto en siguiente línea.<br />
<br />
Texto separado en una línea.

Espacio (Horizontal):
&nbsp;
Nota: Usar los espacios horizontales con código al principio de un código cualquiera si es necesario.
Ejemplo:
Texto&nbsp;con&nbsp;Separación&nbsp;(Espacio).


Texto en Movimiento:
<marquee>Texto en Movimiento de Derecha a Izquierda.</marquee>



Eso es todo, aquí el tutorial ha terminado. Big Grin

Saludos.

Partes del Tutorial fueron creadas por mi, Infranight por darlo a conocer y yo por traducirlo.
Archivos Adjuntos

y como quedaria el .htacces ya con toda la modificacion

(uso el que biene por default en mybb)
:)
(10 Oct, 2009, 8:23 am)Walkman 5.0 escribió: y como quedaria el .htacces ya con toda la modificacion

(uso el que biene por default en mybb)

Agrega esto al final del .htaccess

ErrorDocument 404 http://urldetuforo.com/error_404.php
xD Lo Agregue al inicio del .htacces y me funciono creo que el orden no importa solo que no este dentro de los <if>
:)
Cuando quiera agregar una pagina de reglas como debo ponerlo aqui?

<?php 

define ( 'IN_MYBB' , 1 ); // (1a) 
require "./global.php" ; // (1b) 

add_breadcrumb ( "Error 404" , "error_404.php" ); // (2) 

eval( "\$error_404 = \"" . $templates -> get ( "error_404" ). "\";" ); // (3) 
output_page ( $error_404 ); // (4) 
?>

Si yo quiero que se llame reglas.php?
<?php

define ( 'IN_MYBB' , 1 ); // (1a)
require "./global.php" ; // (1b)

add_breadcrumb ( "PAgina de Reglas" , "reglas.php" ); // (2)

eval( "\$reglas = \"" . $templates -> get ( "reglas" ). "\";" ); // (3)
output_page ( $reglas ); // (4)
?>

y la plantilla se llamaria reglas
:)
(15 Oct, 2009, 4:30 pm)Walkman 5.0 escribió:
<?php

define ( 'IN_MYBB' , 1 ); // (1a)
require "./global.php" ; // (1b)

add_breadcrumb ( "PAgina de Reglas" , "reglas.php" ); // (2)

eval( "\$reglas = \"" . $templates -> get ( "reglas" ). "\";" ); // (3)
output_page ( $reglas ); // (4)
?>

y la plantilla se llamaria reglas

Sí, eso que te explicó Walkman, son todas las cosas que debes de modificar a tu gusto pero ojo, recuerda que si pones un título de navegación en el foro con tílde (acento) debe de ser de la siguiente manera:

&*a e i o u*acute;

En este caso el archivo debería de ir así, junto con el nombre de "reglas.php", por ejemplo:

<?php

define ( 'IN_MYBB' , 1 ); // (1a)
require "./global.php" ; // (1b)

add_breadcrumb ( "P&aacute;gina de Reglas" , "reglas.php" ); // (2)

eval( "\$reglas = \"" . $templates -> get ( "reglas" ). "\";" ); // (3)
output_page ( $reglas ); // (4)
?>
-.- solo copiaste una parte

el codigo que te dimos es completo y asi diga Pagina de Reglas
:)
Pero eso que dice ya es aparte, pues esto lo tienes que modificar ya en la plantilla.

Busca esto en la plantilla que creaste:
<td class="thead"><strong>Error 404 - Página no encontrada</strong></td>
Esa parte es lo que lo que debes de cambiar por el título que tu quieras, indicando el nombre de la tabla.

** Esta explicación ha sido agregada al mensaje principal. Wink **
Colaboradores
~EroKenji Saydead Rafael Joaco.- DARKNESSDH Cluster AlanB
This forum uses Lukasz Tkacz MyBB addons.