Página 1 de 1

Reputation System solo en el primer post de cada tema

Publicado: 17 Mar 2014, 13:43
por Krosher
Buenas.

He instalado el MOD Reputation System 0.70 y decir que me funciona perfectamente.
Pero me gustaría que solo se pudiera votar en el primer post de cada tema, he seguido las instrucciones dadas por EmmaX en este tema: http://www.phpbb-es.com/foro/soporte-mo ... ml#p219575
Y decir que funciona bien, salvo en que se puede votar en el primer post de cada tema, pero en cada página, es decir en el primer mensaje de la página 1, 2 ,3.. Y a mi me gustaría de que solo fuera en el primer mensaje de todo el tema, no de cada página del tema (no se si me explico)
No domino mucho de programación, por ello os pido ayuda, aunque ya sé que quizás sea algo complejo lo que quiero.

Saludos y gracias

Re: Reputation System solo en el primer post de cada tema

Publicado: 18 Mar 2014, 22:47
por micontre
prueba con esto . Abrir archivo ABRIR viewtopic.php Buscar - Nota: Esto puede ser una búsqueda parcial, y no una línea entera.

Código: Seleccionar todo

          'S_TOPIC_POSTER'   => ($topic_data['topic_poster'] == $poster_id) ? true : false,
Añadir después - Nota: Añadir las siguientes líneas en una nueva línea, después de la línea encontrada.

Código: Seleccionar todo

                'S_FIRST_POST'      => ($topic_data['topic_first_post_id'] == $row['post_id']) ? true : false, 
de los codigos que pide añadir @EmmaX
coloco el siguente paso completo para que no te pierdas (solamente cambio el segundo codigo)
lo que creo que podes hacer seria buscar esta linea en el viewtopic_body.html

Código: Seleccionar todo

<!-- IF S_REPUTATION and S_FORUM_REPUTATION -->
				<ul class="post-reputation<!-- IF postrow.RS_POST_CLASS --> {postrow.RS_POST_CLASS}<!-- ENDIF -->">
					<li class="rate-good-icon"><!-- IF postrow.S_GIVE_REPUTATION --><a href="#" onclick="jRS.positive('{postrow.POST_ID}', event, this); return false;" <!-- IF postrow.RS_GIVEN_POINT gt 0 -->class="{postrow.RS_POST_CLASS}" title="{L_RS_YOU_RATED} {postrow.RS_GIVEN_POINT}"<!-- ELSE --> title="{L_RS_RATE_POST}"<!-- ENDIF -->><span>{L_RS_ADD_POINTS}</span></a><!-- ENDIF --></li>
					<li class="reputation {postrow.RS_BOX_COLOR}"><div title="{L_RS_POST_REPUTATION}"><!-- IF postrow.S_VIEW_REPUTATION --><a href="#" onclick="jRS.postdetails('{postrow.POST_ID}'); return false;"><!-- ENDIF -->{postrow.POST_REPUTATION}<!-- IF postrow.S_VIEW_REPUTATION --></a><!-- ENDIF --></div></li>
					<!-- IF postrow.S_GIVE_REPUTATION && postrow.S_GIVE_NEGATIVE--><li class="rate-bad-icon"><a href="#" onclick="jRS.negative('{postrow.POST_ID}', event, this); return false;" <!-- IF postrow.RS_GIVEN_POINT lt 0 --> class="{postrow.RS_POST_CLASS}" title="{L_RS_YOU_RATED} {postrow.RS_GIVEN_POINT}"<!-- ELSE --> title="{L_RS_RATE_POST}"<!-- ENDIF --> onclick="return false;"><span>{L_RS_SUBTRACT_POINTS}</span></a></li><!-- ENDIF -->
				</ul>
				<br />
			<!-- ENDIF -->
(esto es lo que cambia) agregar esta ANTES

Código: Seleccionar todo

<!-- IF postrow.S_FIRST_POST and (not START and postrow.S_ROW_COUNT == 0)-->
y esta DESPUES

Código: Seleccionar todo

<!-- ENDIF -->
no te olvides de hacer el primer paso o no te funcionara.

Re: Reputation System solo en el primer post de cada tema

Publicado: 18 Mar 2014, 23:40
por Krosher
Muchas gracias !!!
Mañana lo pruebo te comento si funciona. Lo probaría ahora pero no puedo desde este ordenador.
Pero desde ya te doy las gracias.
Mañana sin falta cometo el tema.

Re: Reputation System solo en el primer post de cada tema

Publicado: 19 Mar 2014, 23:09
por Krosher
Buenas !!!

@micontre He editado los dos archivos: "viewtopic.php" y " styles/prosilver/templates/viewtopic_body.html"
He limpiado caché, caché de palntillas, he actualizado plantilla y tema e incluso he limpiado el cache del navegador.
Y me funciona igual que antes, me sale para dar reputación en el primer post de cada página de cada tema (en el foro donde está activado)
He revisado que mi edición sea correcta varias veces y creo que es así, me sucede lo mismo tanto en foro de pruebas en localhost, como en el que está en funcionamiento en la red.
Si quieres te puedo mandar los archivos comentados y ya editados, quizás me haya equivocado con la edición, aunque lo he revisado varias veces.

Adjunto un screenshot, en el cual se ve la prueba que estamos haciendo y donde se ve que en la página 2, se puede votar en el primer post.

Imagen

Algo se nos escapa, si no me he equivocado. A ver si lo podemos solucionar.
Muchas gracias por la ayuda compañeros/as.

Re: Reputation System solo en el primer post de cada tema

Publicado: 19 Mar 2014, 23:52
por micontre
limpia temporales de tu navegador, yo veo que solamente sale en el primer post , las otras paginas no sale
asi lo veo yo

Re: Reputation System solo en el primer post de cada tema

Publicado: 20 Mar 2014, 00:10
por Krosher
Correcto !!!
No se que pasa con el Iron (basado en Chrome) que incluso limpiando caché no se entera de los cambios. Acabo de probarlo en Firefox y listo !!! SI FUNCIONA !!!
Muchas gracias compañero, estoy realmente contento y muy agradecido, sin vuestra ayuda habría sido imposible.

Re: Reputation System solo en el primer post de cada tema

Publicado: 20 Mar 2014, 14:00
por Krosher
Vaya !!!
Pues ha surgido otro problema !!!
A raíz de esta modificación, me sale para dar reputación en todos los foros. Los tengo todos desactivados salvo uno, que es en el que quiero que se pueda dar reputación.
Ya sé que no tiene mucho sentido, pero antes de llevar a cabo esta modificación, solo salía lo de la reputación en el foro donde estaba esta característica activada, ahora me sale en todos aunque esté desactivada esta característica

Imagen

Imagen.

Re: Reputation System solo en el primer post de cada tema  Tema Solucionado

Publicado: 20 Mar 2014, 16:22
por micontre
no lo he probado ,pero intenta cambiando el orden (no te aseguro que funcione ,pero por probar...)
quedaria asi mas o menos

Código: Seleccionar todo

<!-- IF S_REPUTATION and S_FORUM_REPUTATION -->
<!-- IF postrow.S_FIRST_POST and (not START and postrow.S_ROW_COUNT == 0)-->