Alguien sabe como pongo esto?

Started by WINTX, July 04, 2015, 08:32:09 AM

Previous topic - Next topic

WINTX



Pues según si el post tenia mas respuestas o menos la barra cambiaba de color lo tenia hace mucho tiempo y no recuerdo como se llamaba el o como lo modifique perdonen la calidad de la imagen pero esque la saque de un video.

Gracias!

Suki

SMF ya te da la cantidad de respuestas que tiene cierto tema, Sólo basta tener otras dos variables, una es el máximo número de respuestas que puede tener un tema (el 100% de la barra) y la otra el ancho (en pixeles) que tendrá la barra.

Lamentablemente no tengo timepo para hacerlo yo pero la lógica básica es esta:

$maxPosts = 100;
$anchoBarra = 150;

$numrespuestas = $respuestas / $maxPosts;
$numrespuestas = $numrespuestas > 1 ? 1 : $numrespuestas;
$porcentaje =$numrespuestas * 100;
$total = $anchoBarra * $numrespuestas;


Ahora total contiene un número representativo el cual puedes usar para generar tu barra con css:

<div class="barra" style="width:'. $anchoBarra .'px;">
            <span style="width: '. $total .'%;" ></span>
         </div>';
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

WINTX

Gracias Suki mirare a ver cuando tenga un hueco  :laugh:

#jsDotx3

Quote from: Suki on July 08, 2015, 11:17:42 AM
SMF ya te da la cantidad de respuestas que tiene cierto tema, Sólo basta tener otras dos variables, una es el máximo número de respuestas que puede tener un tema (el 100% de la barra) y la otra el ancho (en pixeles) que tendrá la barra.

Lamentablemente no tengo timepo para hacerlo yo pero la lógica básica es esta:

$maxPosts = 100;
$anchoBarra = 150;

$numrespuestas = $respuestas / $maxPosts;
$numrespuestas = $numrespuestas > 1 ? 1 : $numrespuestas;
$porcentaje =$numrespuestas * 100;
$total = $anchoBarra * $numrespuestas;


Ahora total contiene un número representativo el cual puedes usar para generar tu barra con css:

<div class="barra" style="width:'. $anchoBarra .'px;">
            <span style="width: '. $total .'%;" ></span>
         </div>';
La otra lógica (no se si tendrá que ver mucho). Puede ser en base a los mensajes totales del foro y de hay sacar un porcentaje respectivo, por ejemplo.

Code (php) Select

<?
if($context['topics']['replies'] > 0){
/*
* $topic['replies'] hace referencia a las respuestas de un tema.
* $context['topics']['replies'] hace referencia a los comentarios en total de un foro
*/
$porcentajeBarra = $topic['replies']*100/$context['topics']['replies'];
}
?>


En base a eso y que se ha definido el ancho de la barra en píxeles, ocuparas el porcentaje respectivo. No se como será el algoritmo al respecto de dicha barra, no la llegue a visualizar.


Solved
(Life would be easy with a simple solution.)

Diego Andrés

#4
Lo de la foto es como una copia del hot topic de smf, solo que con una barrita, y además usa imágenes. Es una pequeña modificación que se tuvo en los themes de LGF. No se si este publicado en algún lugar.

Como sea, ayer vi este post y escribí un pequeño mod que hace esto, pero usando CSS y una lógica parecida a la de Suki.

Funciona mas o menos así:
1- El mod tiene 3 ajustes. Uno para activarlo, y otros dos que son para darle la ponderación del 1 al 100 a las vistas y respuestas. Por ejemplo a vistas le das una ponderación de 70 y a las respuestas una ponderación de 30 para sumar un 100%
2- ahora el mod hace su parte con las vistas y respuestas de un tema; los compara con el tema mas visto y el tema con mas respuestas según las estadísticas de SMF. Saca el porcentaje de cada lado (vistas y respuestas), y finalmente nos devuelve el porcentaje total que tenga ese tema del 0 al 100.
3- lo demás es HTML y CSS sin mucho problema.

Aquí dejo una foto del resultado
http://prntscr.com/7rbbtl

Como pueden ver es muy sencillo, pero espero que pueda ir mejorándose con el tiempo, por ejemplo para SMF 2.1 agregar los Likes a la ponderación.




Edit: Versión final del mod http://custom.simplemachines.org/mods/index.php?mod=4066

SMF Tricks - Free & Premium Responsive Themes for SMF.

Advertisement: