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

Soporte de MODs para phpBB 3.0.x
Dudas sobre AutoMOD aquí por favor.
Cerrado

0
No hay votos
 
Votos totales: 0

alientunero
Observador/a
Mensajes: 12
Registrado: 04 Mar 2007, 09:51

2 portal.php en board3 ¿Posible?

#1

Mensaje por alientunero »

URL: http://indicevita.es
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

alientunero
Observador/a
Mensajes: 12
Registrado: 04 Mar 2007, 09:51

Re: 2 portal.php en board3 ¿Posible?

#2

Mensaje por alientunero »

Nadie me puede ayudar?

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Re: 2 portal.php en board3 ¿Posible?

#3

Mensaje por mitch »

Si se puede, hay que editar algunas líneas... hace poco tuve que hacerlo en una web en la que estoy colaborando en este mes de vacaciones que tengo.
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

alientunero
Observador/a
Mensajes: 12
Registrado: 04 Mar 2007, 09:51

Re: 2 portal.php en board3 ¿Posible?

#4

Mensaje por alientunero »

mitch gracias por contestar. Todo en la programación se puede pero no sabía si iba a ser complejo o no.

Cuando puedas avísame por favor. (Escribiendo aquí es mas que suficiente)

Un gran saludo

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Re: 2 portal.php en board3 ¿Posible?  Tema Solucionado

#5

Mensaje por mitch »

Bueno lo prometido es deuda, me fue bien en mi examen asi que pase a dejarte la respuesta.
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;
Agregar Después:

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
En este código que acabo de colocar, debes editar 2 cosas:
  1. Código: Seleccionar todo

    		// identificador del 2do portal que se mostrara en la url
    		$portal2_tag = 'music';
    Cambiar 'music' por el tag que quieras... en este caso la url se vería de la siguiente forma: /portal.php?music=1
    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.
  2. Lo otro que debes editar de este código es esta línea:

    Código: Seleccionar todo

    		// IDs de los foros que deseas mostrar en el segundo portal
    		$portal2_id = '3,4,5';
    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
    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.
Buscar:

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]);
Reemplazar por:

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]);
Buscar:

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];
Agregar después:

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
Buscar:

Código: Seleccionar todo

					else
					{
						$open_bracket = '';
						$close_bracket = '';
						$read_full = '';
					}
					// unread?
Agregar después:

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
Ahora solo queda agregar el botón en la cabecera para tu nuevo portal.
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> &#187; 
En la misma línea, inmediatamente despúes, agregar:

Código: Seleccionar todo

 <a href="portal.php?music=1">Música</a> &#187; 
aquí cambias la palabra music y Música por lo que tu hayas configurado en las líneas que editaste antes del portal (donde di el ejemplo de fútbol).

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!

Avatar de Usuario
ThE KuKa
Administrador
Mensajes: 10374
Registrado: 04 Ene 2004, 19:27
Género:
Edad: 49

Re: 2 portal.php en board3 ¿Posible?

#6

Mensaje por ThE KuKa »

Pues a ver si se verifica que funciona correcto, que por lo que comentas funciona y bien, cuando conteste el usuario lo extraigo para quedar en la Biblioteca.

Gracias Mitch :wink:

📌 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 Imagen
:flag_es: phpBB España - En línea desde 2003 :heart:



alientunero
Observador/a
Mensajes: 12
Registrado: 04 Mar 2007, 09:51

Re: 2 portal.php en board3 ¿Posible?

#7

Mensaje por alientunero »

Mañana a primera hora lo hago (Horario español). Lo prometo.

infinitas gracias mitch. Eres un dios para mi :)

alientunero
Observador/a
Mensajes: 12
Registrado: 04 Mar 2007, 09:51

Re: 2 portal.php en board3 ¿Posible?

#8

Mensaje por alientunero »

Siento el dobleposteo.

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
He hecho alguna pequeña modificación para que las url sean:

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 :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo: :bravo:
Última edición por alientunero el 17 Nov 2012, 07:52, editado 1 vez en total.

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Re: 2 portal.php en board3 ¿Posible?

#9

Mensaje por mitch »

Que bueno que te sirvió. Quedará de registro para futuras preguntas (de hecho lo vi como consulta en el foro oficial de este portal y sin respuesta :D )

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! :cerveza:

alientunero
Observador/a
Mensajes: 12
Registrado: 04 Mar 2007, 09:51

Re: 2 portal.php en board3 ¿Posible?

#10

Mensaje por alientunero »

Si mitch, puse la misma pregunta (traducida) en la web oficial de Board3.

Quizá deberías mandar esta modificación a sus foros (o si me das permiso lo pongo yo, respetando autoria claro)

Un cordial saludo!

Avatar de Usuario
mitch
Ex Staff
Mensajes: 4260
Registrado: 04 Sep 2005, 04:28
Género:

Re: 2 portal.php en board3 ¿Posible?

#11

Mensaje por mitch »

No hay problema, si quieres postea mi código en el foro oficial para que se sepa que tuviste respuesta... y si puedes mencionar que la solución es de esta web mejor aún, no me interesa que me menciones a mí en particular pero si que esta comunidad fue la que te ayudó.

salu2 ;)

Cerrado

Volver a “Soporte de MODs”