Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..
Gracias.
La Administración de phpBB España.
2 portal.php en board3 ¿Posible?Tema Solucionado
-
- Mensajes: 12
- Registrado: 04 Mar 2007, 09:51
2 portal.php en board3 ¿Posible?
Versión phpBB: 3.0.11
MODs Instalados: SafeGamerTag2.3.3, PhpbbSeo ultimate URL 0.7, Board3 2.0.0, Contact board administration, Automod, Avatar True Resize, Convert quoted images to url, Thanks for posts, User Mention MOD, phpBB SEO Dynamic Meta tags, Instant Post Redirect
Plantilla(s) usada(s): IndiceStyle (modificación de Artodia Helion basada en Prosilver)
Servidor: 1&1 Dual Basic de pago
Actualización desde otra versión: Si de 3.0.10
Conversión desde otro sistema de foros: No
Buenos días. Quería saber si se puede hacer lo siguiente con el portal de Board3.
Digamos que quiero hacer 2 portales. Uno, tal cual está y el otro (el nuevo) idéntico SALVO que el bloque de noticias contenga otros foros. No se si me he explicado bien.
-> "Portal1" Todos los módulos y el de Noticias configurado para el foro id 1,3,5
-> "Portal2" Todos los módulos y el de Noticias configurado para el foro id 2,4,6
No descarto la posibilidad de cambiar de mod (desde board3 a otro que pueda hacer esto)
Un gran saludo y espero respuesta
PD: Gracias de antemano
-
- Mensajes: 12
- Registrado: 04 Mar 2007, 09:51
Re: 2 portal.php en board3 ¿Posible?
Re: 2 portal.php en board3 ¿Posible?
Espero hacer un tutorial o algo, cuando lo tenga listo te aviso para que lo pongas en tu foro... pero al menos ya sabes que sí es posible.
Salu2
-
- Mensajes: 12
- Registrado: 04 Mar 2007, 09:51
Re: 2 portal.php en board3 ¿Posible?
Cuando puedas avísame por favor. (Escribiendo aquí es mas que suficiente)
Un gran saludo
Re: 2 portal.php en board3 ¿Posible? Tema Solucionado
Será necesario editar 2 archivos (RESPALDA ante cualquier cosa, siempre al editar respalda).
y de estos códigos editar 2 líneas donde pondrás el nombre/tag de tu segundo portal y las IDs de los foros que deseas mostrar en este otro portal.
Recuerda que sólo va a cambiar lo del centro (noticias), todos los demás bloques serán iguales a los del primero.
Abrir: /portal/modules/portal_news.php
Buscar:
Código: Seleccionar todo
// Fetch news from portal/includes/functions.php with check if "read full" is requested.
$portal_news_length = ($news < 0) ? $config['board3_news_length_' . $module_id] : 0;
Código: Seleccionar todo
// BEGIN portal2 - mitch
// identificador del 2do portal que se mostrara en la url
$portal2_tag = 'music';
// IDs de los foros que deseas mostrar en el segundo portal
$portal2_id = '3,4,5';
//Esto es todo lo que puedes editar, en adelante no modificar nada
$portal2 = request_var($portal2_tag,'');
if ($portal2 == '1') { $portal2forum = $portal2_id; }
else { $portal2forum = $config['board3_news_forum_' . $module_id]; }
// END mitch
- Cambiar 'music' por el tag que quieras... en este caso la url se vería de la siguiente forma: /portal.php?music=1
Código: Seleccionar todo
// identificador del 2do portal que se mostrara en la url $portal2_tag = 'music';
si en vez de 'music' colocas 'futbol' por ejemplo (para mostrar en el 2do portal el contenido de tu foro de futbol o lo que te de la gana) el resultado de la url se vería de la siguiente forma: /portal.php?futbol=1.
Esto solo determina el cómo se va a ver la URL final de tu segundo portal.
¿se entiende? debes tener esto en cuenta, pues esta url es la que deberás colocar en tu cabecera enlazando al segundo portal (más adelante doy las instrucciones para ello). No tomes en cuenta ese número 1 que se ve en la url, es la forma que le di al código de reconocer el segundo portal... tu solo debes escribir 'music' o 'futbol' o lo que se te antoje. Procura no borrar las comillas simples ni el punto y coma del final o te saldrá error. - Lo otro que debes editar de este código es esta línea:
Aquí configuras qué foros vas a mostrar en el segundo portal. Las IDs las sacas de la URL de los foros que desees... por ejemplo si la URL de tu foro de música o fútbol es: http://tuweb.com/phpBB3/viewforum.php?f=4
Código: Seleccionar todo
// IDs de los foros que deseas mostrar en el segundo portal $portal2_id = '3,4,5';
ese número 4 del final es tu ID y es lo que debes colocar en esa línea. Si deseas colocar más de un foro, colocas los números separados por comas (como en el ejemplo). Nuevamente tener cuidado con las comillas simples y el punto y coma del final, solo debes editar los números.
Código: Seleccionar todo
$fetch_news = phpbb_fetch_posts($module_id, $config['board3_news_forum_' . $module_id], $config['board3_news_permissions_' . $module_id], $config['board3_number_of_news_' . $module_id], $portal_news_length, 0, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news', $start, $config['board3_news_exclude_' . $module_id]);
Código: Seleccionar todo
$fetch_news = phpbb_fetch_posts($module_id, $portal2forum, $config['board3_news_permissions_' . $module_id], $config['board3_number_of_news_' . $module_id], $portal_news_length, 0, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news', $start, $config['board3_news_exclude_' . $module_id]);
Código: Seleccionar todo
// Count number of posts for news archive, considering if permission check is dis- or enabled.
if ($config['board3_news_archive_' . $module_id])
{
$permissions = $config['board3_news_permissions_' . $module_id];
Código: Seleccionar todo
// BEGIN Portal2 - mitch
if ($portal2 == '1') {
$forum_from = $portal2_id;
}
else {
$forum_from = $config['board3_news_forum_' . $module_id];
}
// END mitch
Código: Seleccionar todo
else
{
$open_bracket = '';
$close_bracket = '';
$read_full = '';
}
// unread?
Código: Seleccionar todo
// BEGIN Portal2 - mitch
if ($portal2 == '1') {
$portalmitchurl = "{$phpbb_root_path}portal.php?{$portal2_tag}=1";
}
else {
$portalmitchurl = "{$phpbb_root_path}portal.$phpEx";
}
// END mitch
Debes tener en cuenta lo de la url con el tag que te dije anteriormente. En este ejemplo es: /portal.php?music=1 (pues dejamos el tag music). Por lo tanto editaremos
Abrir: /styles/prosilver/template/overall_header.html
Buscar:
Código: Seleccionar todo
<a href="{U_PORTAL}">{L_PORTAL}</a> »
Código: Seleccionar todo
<a href="portal.php?music=1">Música</a> »
Si tienes por estilo subsilver2, hacer exactamente las mismas ediciones en el mismo overall_header.html
Recuerda limpiar el caché.
Y eso sería todo. Es sencillo, solo que procuré explicarlo de la mejor forma posible y quedó un poco largo el post xD
Ya me comentas. Si falla algo lo solucionamos y si resulta todo bien lo dejo como guía.
Debería ir bien pues lo probé en local y en una web donde colaboro.
salu2!
Re: 2 portal.php en board3 ¿Posible?
Gracias Mitch
Raul [ThE KuKa] en phpBB
Jr. Extension Validator - Jr. Styles Validator - Style Customisations - Translator - International Support Team
Si te gustan mis estilos, traducciones, etc. y quieres mostrar algo de aprecio, no dudes en hacer una donación
phpBB España - En línea desde 2003
-
- Mensajes: 12
- Registrado: 04 Mar 2007, 09:51
Re: 2 portal.php en board3 ¿Posible?
infinitas gracias mitch. Eres un dios para mi
-
- Mensajes: 12
- Registrado: 04 Mar 2007, 09:51
Re: 2 portal.php en board3 ¿Posible?
Primero de todos mil millones de gracias a mitch. Ya lo he instalado y todo perfecto.
Incluso se pueden hacer mas de 2 "portales con diferentes noticias".
Aquí dejo algo de código para mas de 2 portales:
Esto en module_news.php
Código: Seleccionar todo
// BEGIN portal2 - mitch
// identificador del 2do portal que se mostrara en la url
$portal2_tag = 'e3';
// IDs de los foros que deseas mostrar en el segundo portal
$portal2_id = '48';
// identificador del 3rd portal que se mostrara en la url
$portal3_tag = 'comunidad';
// IDs de los foros que deseas mostrar en el tercer portal
$portal3_id = '38';
//Esto es todo lo que puedes editar, en adelante no modificar nada
$portal2 = request_var($portal2_tag,'1');
$portal3 = request_var($portal3_tag,'1');
if ($portal2 == '') {
$portal2forum = $portal2_id;
}
else
{
if ($portal3 == '') {
$portal2forum = $portal3_id;
}else
{
$portal2forum = $config['board3_news_forum_' . $module_id];
}
}
// END mitch
Código: Seleccionar todo
// BEGIN Portal2 - mitch
if ($portal2 == '') {
$forum_from = $portal2_id;
}
else {
if ($portal3 == '') {
$forum_from = $portal3_id;
}
else{
$forum_from = $config['board3_news_forum_' . $module_id];
}
}
// END mitch
Código: Seleccionar todo
// BEGIN Portal2 - mitch
if ($portal2 == '1') {
$portalmitchurl = "{$phpbb_root_path}portal.php?{$portal2_tag}=1";
}
else {
if ($portal3 == '1') {
$portalmitchurl = "{$phpbb_root_path}portal.php?{$portal3_tag}=1";
}else{
$portalmitchurl = "{$phpbb_root_path}portal.$phpEx";
}
}
// END mitch
xxxx/portal.php?e3 (en mi caso)
En vez de:
xxxx/portal.php?e3=1
Ejemplos en mi site:
Portal con noticias de todo: http://www.indicevita.es/portal.php
Portal con noticias del pasado E3: http://www.indicevita.es/portal.php?e3
Portal con noticias de la comunidad: http://www.indicevita.es/portal.php?comunidad
Creo que queda mas amigable. Y poner mas de 2 portales es pura lógica de programación. Son varios if y listo.
Millones de gracias mitch
Re: 2 portal.php en board3 ¿Posible?
Y claro, agregando otros IF puedes tener varios más, en el sitio donde colaboro tuve que colocar 3 y va perfecto.
Claro, puedes quitarle el "1" del código, da lo mismo... la verdad que nunca lo pulí mucho fue lo primero que codifiqué, el único cambio que le hice al postearlo aquí fue usar el request_var por seguridad.
saludos!
-
- Mensajes: 12
- Registrado: 04 Mar 2007, 09:51
Re: 2 portal.php en board3 ¿Posible?
Quizá deberías mandar esta modificación a sus foros (o si me das permiso lo pongo yo, respetando autoria claro)
Un cordial saludo!
Re: 2 portal.php en board3 ¿Posible?
salu2