Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme

TEMA: Contador de gracias debajo del avatar

Contador de gracias debajo del avatar 8 años 8 meses ago #18838

  • gimenezadrian
  • Avatar de gimenezadrian
  • Offline
  • Visitante
  • Mensajes: 19
  • Gracias recibidas 1
  • Karma: 0
Hola, estuve buscando como agregar el contador de las gracias recibidas debajo del avatar y no encontré nada ¿alguna idea?


Por ejemplo:


AVATAR

Gracias Recibidas: 1
Última Edición: 8 años 8 meses ago por JoniJnm.
El administrador ha desactivado la escritura pública.

Re: Estuve buscando y no encontré nada, contador de gracias debajo del avatar 8 años 8 meses ago #18858

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Ya lo hice. Tienes que hacer estos cambios:

com_kunena/template/default/view/view.php
//Busca
<?php foreach ( $this->messages as $message ) $this->displayMessage($message) ?>
//añade arriba
			<?php global $kunena_gracias;
			$ids = array();
			foreach ($this->messages as $m) {
				if (!in_array($m->userid, $ids)) {
					$ids[] = $m->userid;
					$kunena_gracias[$m->userid] = 0;
				}
			}
			$db =& JFactory::getDBO();
			$db->setQuery("SELECT count(*) as total, targetuserid as userid FROM #__kunena_thankyou WHERE targetuserid IN (".implode(',',$ids).") GROUP by targetuserid");
			$tmp = $db->loadObjectList();
			foreach ($tmp as $obj)
				$kunena_gracias[$obj->userid] = $obj->total; ?>

com_kunena/template/default/view/profile.vertical.php
Busca
		<li class="kpost-karma">
			<span class="kmsgkarma">
				<?php echo $this->userkarma ?>
			</span>
		</li>
 
Añade después
<li class="kpost-gracias-recibidas">Gracias recibidas: <?php global $kunena_gracias; echo $kunena_gracias[$this->userid]; ?></li>
Última Edición: 8 años 8 meses ago por JoniJnm.
El administrador ha desactivado la escritura pública.
Los siguientes usuarios han agradecido: gimenezadrian

Re: Estuve buscando y no encontré nada, contador de gracias debajo del avatar 8 años 8 meses ago #18877

  • gimenezadrian
  • Avatar de gimenezadrian
  • Offline
  • Visitante
  • Mensajes: 19
  • Gracias recibidas 1
  • Karma: 0
Gracias! :)


No entiendo esto:
com_kunena/template/default/view/view.php
//Busca
foreach ( $this->messages as $message ) $this->displayMessage($message)
//añade arriba
			global $kunena_gracias;
			$ids = array();
			foreach ($this->messages as $m) {
				if (!in_array($m->userid, $ids)) {
					$ids[] = $m->userid;
					$kunena_gracias[$m->userid] = 0;
				}
			}
			$db =& JFactory::getDBO();
			$db->setQuery("SELECT count(*) as total, targetuserid as userid FROM #__kunena_thankyou WHERE targetuserid IN (".implode(',',$ids).") GROUP by targetuserid");
			$tmp = $db->loadObjectList();
			foreach ($tmp as $obj)
				$kunena_gracias[$obj->userid] = $obj->total;

Yo tengo esto en view.php donde lo meto?
<div class="kbody">
			<?php foreach ( $this->messages as $message ) $this->displayMessage($message) ?>
		</div>

Lo puse de dos formas, en una me indica 0 y de la otra nada y tengo 6 gracias en el foro que probe. Uso Kunena 1.6.4 pero tambien probe en Kunena 1.6.3 y tampoco anda, muestra 0 mias y de otro usuario 4 pero solo tiene 1 por ejemplo.

Yo tengo un gracias aca www.jonijnm.es/web/foro/758-kunena/18479-kunenaspanish-desaparecido.html#18487 y sin embargo no sale debajo del avatar donde muestra 0.
Última Edición: 8 años 8 meses ago por JoniJnm.
El administrador ha desactivado la escritura pública.

Re: Estuve buscando y no encontré nada, contador de gracias debajo del avatar 8 años 8 meses ago #18887

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
tienes que ponerlo justo antes del foreach, quedando así:
<div class="kbody">
			<?php 
			global $kunena_gracias;
			$ids = array();
			foreach ($this->messages as $m) {
				if (!in_array($m->userid, $ids)) {
					$ids[] = $m->userid;
					$kunena_gracias[$m->userid] = 0;
				}
			}
			$db =& JFactory::getDBO();
			$db->setQuery("SELECT count(*) as total, targetuserid as userid FROM #__kunena_thankyou WHERE targetuserid IN (".implode(',',$ids).") GROUP by targetuserid");
			$tmp = $db->loadObjectList();
			foreach ($tmp as $obj)
				$kunena_gracias[$obj->userid] = $obj->total;
			foreach ($this->messages as $message) 
				$this->displayMessage($message);
			?>
		</div>
Última Edición: 8 años 8 meses ago por JoniJnm.
El administrador ha desactivado la escritura pública.

Re: Estuve buscando y no encontré nada, contador de gracias debajo del avatar 8 años 8 meses ago #18894

  • gimenezadrian
  • Avatar de gimenezadrian
  • Offline
  • Visitante
  • Mensajes: 19
  • Gracias recibidas 1
  • Karma: 0
Si, perfecto pero no lo toma correctamente, por ejemplo aquí en jonijnm.es tengo un gracias (Usuarios que han agradecido el tema: nouespai) y no lo muestra debajo del avatar en este foro, muestra 0.
El administrador ha desactivado la escritura pública.

Re: Estuve buscando y no encontré nada, contador de gracias debajo del avatar 8 años 8 meses ago #18909

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Arreglado. Hay que cambiar la consulta por:
$db->setQuery("SELECT count(*) as total, targetuserid as userid FROM #__kunena_thankyou WHERE targetuserid IN (".implode(',',$ids).") GROUP by targetuserid");
El administrador ha desactivado la escritura pública.

Re: Estuve buscando y no encontré nada, contador de gracias debajo del avatar 8 años 8 meses ago #18926

  • gimenezadrian
  • Avatar de gimenezadrian
  • Offline
  • Visitante
  • Mensajes: 19
  • Gracias recibidas 1
  • Karma: 0
Ahora si, perfecto. Muy buen trabajo! :)
El administrador ha desactivado la escritura pública.
Tiempo de carga de la página: 0.305 segundos