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.

Listado de foros suscritos

Soporte de MODs para phpBB 3.0.x
Dudas sobre AutoMOD aquí por favor.
Cerrado
barje
Observador/a
Mensajes: 16
Registrado: 06 Feb 2010, 18:53

Listado de foros suscritos

#1

Mensaje por barje »

Buenas, para mi foro necesito crear una página similar al index pero en la que sólo se muestren los foros a los que los usuarios se han suscrito. Algo parecido a lo que se vería si en el panel de control de usuario se va a vista general / organizar suscripciones, pero que se muestre como los foros del index. ¿Hay algún mod que haga esto, porque no lo encuentro? Yo lo he intentado por mi cuenta pero estoy atascado.
Lo primero que he hecho es crear un enlace en el index hacia una página que se llama /subscribed.php. Esa página es una copia de /index.php pero cambiando esto:

Código: Seleccionar todo

$template->set_filenames(array(
	'body' => 'index_body.html')
);
por esto:

Código: Seleccionar todo

$template->set_filenames(array(
	'body' => 'subscribed.html')
);
lo que hace que busque esa página, que llama mediante include a forumlist_subscribed_body.html, que es una copia modificada de forumlist_body.html.
He intentado guiarme por lo que aparece en ucp_main_subscribed.html, pero no doy con la tecla. Allí se usa <!-- IF S_FORUM_NOTIFY --> como condición para mostrar los foros a los que se está suscrito, pero en mi caso no funciona. ¿Alguna idea?

Un saludo.
Datos de soporte
Spoiler
URL: http://www.vetforum.es
Versión phpBB: phpBB3 (3.0.7-PL1)
MODs Instalados: HighSlide Attachment & IMG MOD 4.1.8
Popup por defecto y Aviso en el header para Nuevos Privados
Cambiar botones de BBcodes de phpBB3 a botones con Imágenes
acp add user mod
advertisement management
anual stars
auto acp redirect
clickable rows
prime ban to group
user reminder
view or mark unreads
Signature Image Check
phpbb gallery
phpbb calendar
Plantilla(s) usada(s): AeroBlue
Servidor: Linux, de pago
Actualización desde otra versión: 3.0.6
Conversión desde otro sistema de foros: no

barje
Observador/a
Mensajes: 16
Registrado: 06 Feb 2010, 18:53

Re: Listado de foros suscritos

#2

Mensaje por barje »

He añadido este código a funtions.php (lo he copiado de ucp_main.php)

Código: Seleccionar todo

	function subscribed()
	{	
		global $user, $db, $auth;
		
		$sql_array = array(
		'SELECT'	=> 'f.*',
	
		'FROM'		=> array(
			FORUMS_WATCH_TABLE	=> 'fw',
			FORUMS_TABLE		=> 'f'
		),
	
		'WHERE'		=> 'fw.user_id = ' . $user->data['user_id'] . '
			AND f.forum_id = fw.forum_id
			AND ' . $db->sql_in_set('f.forum_id', $forbidden_forums, true, true),
	
		'ORDER_BY'	=> 'left_id'
		);
		$sql = $db->sql_build_query('SELECT', $sql_array);
		$result = $db->sql_query($sql);
		
		while($row = $db->sql_fetchrow($result))
		{
			if ($auth->acl_get('f_read', $row['forum_id']))
			{
				return true;
			}
		}
		$db->sql_freeresult($result);
	}

	$s_subscribed = subscribed();
y

Código: Seleccionar todo

		'S_SUBSCRIBED'		=> $s_subscribed,
Ahora usando <!-- IF S_SUBSCRIBED --> en forumlist_subscribed_body.html veo comportamientos distintos dependiendo de si los usuarios tienen o no foros suscritos. El problema es que a los que tienen algún foro suscrito se les muestran todos. Eso quiere decir que la consulta a la base de datos está mal hecha, pero me he vuelto a atascar aquí. ¿Alguna idea de cómo arreglar esto?

Un saludo.
Datos de soporte
Spoiler
URL: http://www.vetforum.es
Versión phpBB: phpBB3 (3.0.7-PL1)
MODs Instalados: HighSlide Attachment & IMG MOD 4.1.8
Popup por defecto y Aviso en el header para Nuevos Privados
Cambiar botones de BBcodes de phpBB3 a botones con Imágenes
acp add user mod
advertisement management
anual stars
auto acp redirect
clickable rows
prime ban to group
user reminder
view or mark unreads
Signature Image Check
phpbb gallery
phpbb calendar
Plantilla(s) usada(s): AeroBlue
Servidor: Linux, de pago
Actualización desde otra versión: 3.0.6
Conversión desde otro sistema de foros: no

barje
Observador/a
Mensajes: 16
Registrado: 06 Feb 2010, 18:53

Re: Listado de foros suscritos

#3

Mensaje por barje »

He comprobado que la consulta a la base de datos es correcta:

Código: Seleccionar todo

function subscribed()
	{	
		global $user, $db, $auth;
		$forbidden_forums = $auth->acl_getf('!f_read', true);
		$forbidden_forums = array_unique(array_keys($forbidden_forums));
		$sql_array = array(
		'SELECT'	=> 'f.*',
		'FROM'		=> array(
			FORUMS_WATCH_TABLE	=> 'fw',
			FORUMS_TABLE		=> 'f'
		),
		'WHERE'		=> 'fw.user_id = ' . $user->data['user_id'] . '
			AND f.forum_id = fw.forum_id
			AND ' . $db->sql_in_set('f.forum_id', $forbidden_forums, true, true),
		'ORDER BY'	=> 'left_id'
		);
		$sql = $db->sql_build_query('SELECT', $sql_array);
		$result = $db->sql_query($sql);
		while($row = $db->sql_fetchrow($result))
		{
			$res=$row['forum_id'];
		}
		$db->sql_freeresult($result);
	}
	$s_subscribed = subscribed();
$row ofrece el contenido de todos los campos de los foros suscritos y $res ofrece el forum_id de esos foros.

El problema es que no sé como hacer para que en el template se muestren los datos de únicamente esos foros. En el template tengo esto:

Código: Seleccionar todo

    	<table class="tablebg" cellspacing="0" width="100%">
        	<tr>
                <td class="cat" align="left" height="24"><h4>{L_SUBSCRIBED_FORUMS}</h4></td>
                <!-- IF S_SUBSCRIBED -->
            	<td class="cat" width="14" height="24"><a href="#" onclick="layerTest('expand{forumrow.FORUM_ID}')"><img src="{T_THEME_PATH}/images/expand.gif" width="17" height="16" alt="" /></a></td>
                <!-- ENDIF -->
            </tr>
            <tr>
            <!-- IF S_SUBSCRIBED -->
                <td colspan="2">
                    <div id="expand{forumrow.FORUM_ID}">
                    <table class="tablebg" cellspacing="0" width="100%">
                        <tr>
                            <td class="row3h" colspan="2">&nbsp;{L_FORUM}&nbsp;</td>
                            <td class="row3h" align="center" width="50">&nbsp;{L_TOPICS}&nbsp;</td>
                            <td class="row3h" align="center" width="50">&nbsp;{L_POSTS}&nbsp;</td>
                            <td class="row3h" align="center" width="175">&nbsp;{L_LAST_POST}&nbsp;</td>
                        </tr>
                        <!-- BEGIN forumrow -->
                        <!-- IF not forumrow.S_IS_CAT -->
                        <!-- IF forumrow.S_IS_LINK -->
                            <tr>
                                <td class="forumrow" width="31" align="center">{forumrow.FORUM_FOLDER_IMG}</td>
                                <td class="row1h clickable" onclick="window.location.href='{forumrow.U_VIEWFORUM}'">
                                    <!-- IF forumrow.FORUM_IMAGE -->
                                        <table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="middle" style="padding-{S_CONTENT_FLOW_END}: 5px;">{forumrow.FORUM_IMAGE}</td><td width="100%" valign="middle">
                                    <!-- ENDIF -->
                                    <a class="forumlink" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a>
                                    <p class="forumdesc">{forumrow.FORUM_DESC}</p>
                                    <!-- IF forumrow.FORUM_IMAGE --></td></tr></table><!-- ENDIF -->
                                </td>
                                <!-- IF forumrow.CLICKS -->
                                    <td class="forumrow" colspan="3" align="center"><span class="genmed">{L_REDIRECTS}: {forumrow.CLICKS}</span></td>
                                <!-- ELSE -->
                                    <td class="forumrow" colspan="3" align="center">&nbsp;</td>
                                <!-- ENDIF -->
                            </tr>
                        <!-- ELSE -->
                            <tr>
                                <td class="forumrow" width="31" align="center">{forumrow.FORUM_FOLDER_IMG}</td>
                                <td class="row1h clickable" width="70%" onclick="window.location.href='{forumrow.U_VIEWFORUM}'">
                                    <!-- IF forumrow.FORUM_IMAGE -->
                                        <table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="middle" style="padding-{S_CONTENT_FLOW_END}: 5px;">{forumrow.FORUM_IMAGE}</td><td width="100%" valign="middle">
                                    <!-- ENDIF -->
                                    <a class="forumlink<!-- IF forumrow.S_UNREAD_FORUM --> link-new<!-- ENDIF -->" href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a>
                                    <p class="forumdesc">{forumrow.FORUM_DESC}</p>
                                    <!-- IF forumrow.MODERATORS -->
                                        <p class="gensmall"><strong>{forumrow.L_MODERATOR_STR}:</strong> {forumrow.MODERATORS}</p>
                                    <!-- ENDIF -->
                                    <!-- IF forumrow.SUBFORUMS and forumrow.S_LIST_SUBFORUMS -->
                                        <p class="gensmall"><strong>{forumrow.L_SUBFORUM_STR}</strong> {forumrow.SUBFORUMS}</p>
                                    <!-- ENDIF -->
                                    <!-- IF forumrow.FORUM_IMAGE --></td></tr></table><!-- ENDIF -->
                                </td>
                                <td class="forumrow" width="5%" align="center"><p class="topicdetails">{forumrow.TOPICS}</p></td>
                                <td class="forumrow" width="5%" align="center"><p class="topicdetails">{forumrow.POSTS}</p></td>
                                <td class="forumrow" width="20%" align="center" nowrap="nowrap">
                                    <!-- IF forumrow.LAST_POST_TIME -->
                                        <p class="topicdetails"><!-- IF forumrow.U_UNAPPROVED_TOPICS --><a href="{forumrow.U_UNAPPROVED_TOPICS}">{UNAPPROVED_IMG}</a>&nbsp;<!-- ENDIF -->{forumrow.LAST_POST_TIME}</p>
                                        <p class="topicdetails">{forumrow.LAST_POSTER_FULL}
                                            <!-- IF not S_IS_BOT --><a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}</a><!-- ENDIF -->
                                        </p>
                                    <!-- ELSE -->
                                        <p class="topicdetails">{L_NO_POSTS}</p>
                                    <!-- ENDIF -->
                                </td>
                            </tr>
                        <!-- ENDIF -->
                        <!-- ENDIF -->
                        <!-- END forumrow -->
                    </table>
                    </div>
                </td>
            <!-- ELSE -->
                <td class="row1" colspan="5" align="center" style="padding: 25px 5px;"><p class="gensmall">{L_NO_SUBSCRIBED_FORUMS}</p></td>
            <!-- ENDIF -->
            </tr>
		</table>
El problema es que no sé como hacer para que <!-- IF S_SUBSCRIBED --> indique qué foros son los que se deben mostrar. Tal y como está escrita la función no hay ningún return true por lo que en realidad es lógico que no se ejecute <!-- IF S_SUBSCRIBED -->. Mis conocimientos son muy escasos y no sé como hacer para que la función le diga al template qué foros mostrar de acuerdo a los forum_id seleccionados.
¿Alguna ayuda, por favor?
Datos de soporte
Spoiler
URL: http://www.vetforum.es
Versión phpBB: phpBB3 (3.0.7-PL1)
MODs Instalados: HighSlide Attachment & IMG MOD 4.1.8
Popup por defecto y Aviso en el header para Nuevos Privados
Cambiar botones de BBcodes de phpBB3 a botones con Imágenes
acp add user mod
advertisement management
anual stars
auto acp redirect
clickable rows
prime ban to group
user reminder
view or mark unreads
Signature Image Check
phpbb gallery
phpbb calendar
Plantilla(s) usada(s): AeroBlue
Servidor: Linux, de pago
Actualización desde otra versión: 3.0.6
Conversión desde otro sistema de foros: no

Avatar de Usuario
Makoto
Elite
Mensajes: 2929
Registrado: 10 Sep 2009, 23:44
Género:
Edad: 35

Re: Listado de foros suscritos

#4

Mensaje por Makoto »

¿? en el ucp hay una lista opcion para ver las suscripciones
URL del foro: FIIS-UNAC
Versión phpBB: phpBB3 ( 3.1.5)
Extensiones Instaladas
SPOILER_SHOW
  • Add User 1.0.2
  • Auto Database Backup 1.1.0
  • Auto Groups 1.0.0
  • Avatars on Memberlist 1.0.3
  • Board Announcements 1.0.2
  • Board Rules 1.0.1
  • cBB Chat 1.1.1
  • Fancy Lazy Topics loader 2.1.5
  • Genders 1.0.0
  • Last Post Avatar
  • Log failed logins
  • Rank Post Styling
  • Share On 1.0.0
  • SiteSplat BBCore 2.1.1
  • Sortables Captcha 2.0.0
  • Topic Author 1.0.1
  • Upload Extensions 3.1.2-beta2
Plantilla(s) usada(s):
  • FLATBOOTS 2.0.1
Servidor: Dattatec[/size]

barje
Observador/a
Mensajes: 16
Registrado: 06 Feb 2010, 18:53

Re: Listado de foros suscritos

#5

Mensaje por barje »

Makoto escribió:¿? en el ucp hay una lista opcion para ver las suscripciones
Ya, pero yo lo que quiero es hacer una página como el index en la que sólo se muestren los foros suscritos. Imagina que tienes 40 foros dedicados a modalidades deportivas y los usuarios sólo quieren ver las de su deporte favorito. Con este sistema consigues despejar la página principal de modo que no esté demasiado recargada.

Un saludo.
Datos de soporte
Spoiler
URL: http://www.vetforum.es
Versión phpBB: phpBB3 (3.0.7-PL1)
MODs Instalados: HighSlide Attachment & IMG MOD 4.1.8
Popup por defecto y Aviso en el header para Nuevos Privados
Cambiar botones de BBcodes de phpBB3 a botones con Imágenes
acp add user mod
advertisement management
anual stars
auto acp redirect
clickable rows
prime ban to group
user reminder
view or mark unreads
Signature Image Check
phpbb gallery
phpbb calendar
Plantilla(s) usada(s): AeroBlue
Servidor: Linux, de pago
Actualización desde otra versión: 3.0.6
Conversión desde otro sistema de foros: no

scammarano
Observador/a
Mensajes: 1
Registrado: 28 Ene 2016, 23:00

Re: Listado de foros suscritos

#6

Mensaje por scammarano »

HOLA LOGRASTE HACER LO QUE BUSCABAS?

Avatar de Usuario
angelismo
Administrador
Mensajes: 5707
Registrado: 20 May 2006, 02:42
Género:
Edad: 35

Re: Listado de foros suscritos

#7

Mensaje por angelismo »

Abre un tema nuevo con tu duda, este tema tiene casi 6 años

Antes de nada, lee las Normas de phpBB-Es y las Normas de Soporte.

Como corregir el copyright de phpbb3 - Si tu foro no tiene copyright ,lee la guia antes de pedir soporte.
No doy soporte por MP ni por MSN ,solo en los foros.


© angelismo- Webmaster de Webmastercreativo
© angelismo -Administrador de phpBB-es

Cerrado

Volver a “Soporte de MODs”