Estás navegando como visitante. Por favor Registrate y Logueate para poder participar de ventajas como postear en el foro, Solicitar Ayuda, Ver Enlaces, Ver Imagenes. Registrate con nosotros clickeando AQUÍ.    
Registrarse    Identificarse   Blogs
Anuncios Internos

Quieres ser Moderador/a. Si estas interesado/a, lee la info sobre ésto, haciendo Click
Promociona tu web AQUÍ

En ésta web está expresamente prohibido, publicar enlaces de descargas de material protegido por la ley, asi como seriales, cracks, parches, programas o juegos pirateados sin el consentimienteo del autor, en cuyo caso se debará exibir dicha autorización para legitimizar la descarga. Si algun usuario incumple esta norma, sera
eliminado junto a todos sus mensajes.


Portal » Índice general » Zona Webmasters » PhpBb3 » Tutoriales phpbb3




Nuevo tema Responder al tema  [ 1 mensaje ] 
{ VISITS } Vistas: 1734  { VISITS } Favoritos: 0 { VISITS } Seguidores: 0 
 
Autor Mensaje
 Asunto: Crear página personalizada para phpbb
 Nota Publicado: 24 Mar 2010 17:46 


Desconectado
Moderador Global
Moderador Global
Avatar de Usuario

Mensajes: 136

Todos mis aportes


Nivel: 10

HP: 0 / 230
0 / 230 0 / 230 0 / 230
MP: 110 / 110
110 / 110 110 / 110 110 / 110
EXP: 136 / 142
136 / 142 136 / 142 136 / 142

Karma: 25

Sexo:
Masculino



He dado: 26 Gracias
Recibidas: 25 Gracias
Blog: Ver blog (0)
Anadir páginas en phpBB3

Esta guía de instrucciones le da una vista muy básica de como crear una nueva página para integrar en el marco de phpBB3. Se supone que usted tiene al menos un conocimiento básico de PHP para realizar este tipo de integración.

Este método es especialmente útil para la creación de páginas que utilizan la función de inicio de sesión de phpBB3 , y la integración con su sitio web o CMS.

Cada página de phpBB creada necesita de tres partes.

1. new_page.php - Este es el archivo PHP al que el usuario tendrá que navegar, tales como: Debe registrarse para ver este enlace. Gracias por su visita.. Este archivo contendrá la información principal para hacer trabajar esta página con el marco de phpBB3.

2. /phpBB3/language/<lang>/mods/my_language_file.php - Esta es tu Lenguaje PHP archivo que contiene todas las variables del lenguaje.

3. /phpBB3/styles/<style>/template/my_template.html - Este es su archivo de plantilla HTML que contiene todas las variables de plantilla y el código HTML que acabará creando lo que el usuario verá cuando se ve la página.

Paso 1: Crear el archivo PHP

Guardar este archivo en el directorio raíz del sitio web (no dentro del directorio de instalación de su phpBB3) y el nombre es el siguiente: new_page.php.


<?php
/**
*
* @author Original Author Username author_email@domain.tld - http://mywebsite.tld
* @author Another Author Username another_email@domain.tld - http://domain.tld
*
* @package {PACKAGENAME}
* @version $Id$
* @copyright (c) 2007 Your Group Name
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
define('IN_PHPBB', true);
// Specify the path to you phpBB3 installation directory.
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
// The common.php file is required.
include($phpbb_root_path . 'common.' . $phpEx);

// since we are grabbing the user avatar, the function is inside the functions_display.php file since RC7
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);

// specify styles and/or localisation
// in this example, we specify that we will be using the file: my_language_file.php
$user->setup('mods/my_language_file');</code>

/*
* All of your coding will be here, setting up vars, database selects, inserts, etc...
*
* This is a very primitive example, it’s meant to show you a working example only.
*/
$example_variable = sprintf($user->lang['TIME_NOW'], $user->format_date(time()));
$google_logo = '<a href="http://www.google.com/"><img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="Google" /></a>';

// A typical usage for sending your variables to your template.
$template->assign_vars(array(
'EXAMPLE_VAR' => $example_variable,
'GOOGLE_LOGO' => $google_logo,
'MY_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
));

/*
* assigning some static example data to an array.
* all language strings would normally be included in the language file,
* this is meant for demonstration purposes ONLY.
*/
$some_array = array(
array(
'example' => 'Just an Example 1',
'demonstration' => 'Somecount',
),
array(
'example' => 'Just an Example 2',
'demonstration' => 'Somecount again',
),
);

/*
* basic example of the assign block vars for the templates
* This basically will allow you to easily display a block or array of data in a template
* this is useful for items such as SQL queries to the database and displaying them in your templates.
*/
foreach ($some_array as $row)
{
$template->assign_block_vars('block_name', array(
'EXAMPLE' => $row['example'],
'DEMO' => $row['demonstration'],
));
}

// Page title, this language variable should be defined in the language file you setup at the top of this page.
page_header($user->lang['MY_TITLE']);

// Set the filename of the template you want to use for this file.
// This is the name of our template file located in /styles/<style>/templates/.
$template->set_filenames(array(
'body' => 'my_template.html',
));

// Completing the script and displaying the page.
page_footer();

?>


Versión mínima

Aquí está una versión mínima si sólo desea integrar los datos de la sesión:


<?php

define('IN_PHPBB', true);
// Specify the path to you phpBB3 installation directory.
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
// The common.php file is required.
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);

$user->setup();

//your PHP and/or HTML code goes here

?>


Paso 2: Crear el archivo de idioma

Guardar este archivo en el directorio de idiomas en la siguiente ubicación: /phpBB3/language/<lang>/mods/my_language_file.php.


<?php
/**
*
* groups [English]
*
* @author My Username email@domain.tld - http://website.tld
*
* @package language
* @version $Id$
* @copyright (c) 2007 Your Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}

if (empty($lang) || !is_array($lang))
{
$lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine

$lang = array_merge($lang, array(
'EXAMPLE' => 'Example',
'DEMO' => 'Demo',
'TIME_NOW' => 'The time right now is %s',
'MY_TITLE' => 'My New Page Title',
));

?>


Paso 3: Crear un Archivo de plantilla

Guardar este archivo en el directorio de plantillas para el estilo que estás utilizando: /phpBB3/styles/<style>/template/my_template.html.


<!-- INCLUDE overall_header.html -->

<div>{MY_AVATAR}</div>
<div>{EXAMPLE_VAR}</div>
<div>{GOOGLE_LOGO}</div>

<table class="table1" cellspacing="1">
<tr>
<th>{L_EXAMPLE}</th>
<th>{L_DEMO}</th>
</tr>
<!-- BEGIN block_name -->
<tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td>{block_name.EXAMPLE}</td>
<td>{block_name.DEMO}</td>
</tr>
<!-- END block_name -->
</table>

<!-- INCLUDE overall_footer.html -->


Paso 4: Vaya a la nueva página

Ahora apunte su navegador a la nueva página, es decir: Debe registrarse para ver este enlace. Gracias por su visita.
Ahora modifique la página para satisfacer sus necesidades.

Control del contenido por Grupos
Si quieres controlar quién puede ver el contenido específico de su plantilla(s) basado en el grupo en que se encuentra el usuario, puede utilizar el siguiente código de ejemplo:


// set these ids to the specific group_ids of the
// groups that you want to give access to your content
$group_ids = array(
4,
2,
);

$user_ary = array();

$sql = 'SELECT user_id
FROM ' . USER_GROUP_TABLE . '
WHERE ' . $db->sql_in_set('group_id', $group_ids);
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result))
{
$user_ary[$row['user_id']] = $row['user_id'];
}
$db->sql_freeresult($result);


Luego, dependiendo de si desea controlar el contenido específico de la plantilla, o si desea restringir el acceso a toda la página, elija uno de los dos ejemplos siguientes. El primer ejemplo muestra cómo se puede controlar el contenido específico de su plantilla si el usuario está en su grupo especificado.

Ejemplo 1

$template->assign_vars(array(
'S_IS_IN_GROUP' => (in_array($user->data['user_id'], $user_ary)) ? true : false,
));



Ejemplo2

if (!in_array($user->data['user_id'], $user_ary))
{
if ($user->data['user_id'] == ANONYMOUS)
{
login_box('', 'LOGIN');
}

trigger_error('NOT_AUTHORISED');
}


Bonus
Si quieres que los usuarios ven el link a la pagina en el viewonline.php en lugar de por defecto al índice:
Abrir viewonline.php

Ir a la linea 318
Debes ver:

default:
$location = $user->lang['INDEX'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx";
break;


Ahora añade antes:

case ('aboutus'):
$location = "About Us";
$location_url = append_sid("{$phpbb_root_path}your_aboutus_page.$phpEx";
break;


Finalmente guarda y sube tu viewonline.php sobreescribiendo el antiguo




Debe vincular a un elemento del lenguaje, para la traducción
Por ejemplo:


$location = $user->lang['ABOUT_US'];


Navlinks & Breadcrumbs

Si desea que en su página personalizada aparezcan navlinks y breadcrumbs, entonces tendrás que editar el archivo de página la personalizada.

Para ello, abra su archivo aboutus.php, y busque la línea con page_header en él. A continuación agregue el siguiente código:


// Set up the Navlinks for the forums navbar
$template->assign_block_vars('navlinks', array(
'FORUM_NAME' => 'Custom Page', //Name of the page you wish to see on the navlinks page. You should use language files, but for the purpose of this demonstration I have not.
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}custom_page.$phpEx") //The path to the custom file relative to the phpbb root path.
);


Esto entonces mostrará su página personalizada después de la seccion de navlinks del indice del foro.

firma

Este es el lugar para tu firma

Personaliza tu perfil



Pc-teros Community - www.pc-teros.es
Arriba 
 Perfil  
 
El siguiente 2 usuarios dan las gracias a buthas por ese mensaje:
gallegoindomito, N_Javier
Mostrar mensajes previos:  Ordenar por  
 
Nuevo tema Responder al tema  [ 1 mensaje ] 


¿Te fue util este tema?

Link:
BBcode:
HTML:


Temas Similares


Portal » Índice general » Zona Webmasters » PhpBb3 » Tutoriales phpbb3


Temas relacionados
 Temas   Autor   Comentarios   Vistas   Último mensaje 
No hay nuevos mensajes sin leer en este tema. ayuda con crear página personalizada

renanhube

1

416

13 Feb 2012 12:40

blquack Ver último mensaje

No hay nuevos mensajes sin leer en este tema. galeria en pagina personalizada, phpbb3

Megabyte

0

214

20 Jun 2011 20:48

Megabyte Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Cargar select en página personalizada

carlos123

3

676

20 Mar 2015 12:23

Sumer Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Adjunto(s) Extend phpBB Breadcrumbs, mod phpbb

Megabyte

3

1508

09 Mar 2011 17:39

Megabyte Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Wintoflash crear usb botable

blquack

0

304

27 May 2010 18:14

blquack Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Crear cajas nuevas

[ Ir a páginaIr a página: 1, 2 ]

kikav

15

859

11 Ago 2012 10:24

blquack Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Duda crear subred

anxelitocoruña

2

257

07 May 2017 22:03

anxelitocoruña Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Como crear programas portables.

Total13

4

694

23 Ene 2012 00:09

EseTecnico Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Se puede crear un hotspot en casa?

[ Ir a páginaIr a página: 1, 2 ]

ezequiel-1031

12

1589

16 Sep 2012 20:40

blquack Ver último mensaje

No hay nuevos mensajes sin leer en este tema. crear un disco de arranque con ubuntu

EseTecnico

0

863

11 Mar 2013 17:18

EseTecnico Ver último mensaje

 


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

 
 

 
No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron