[Rendimiento]  [Como ?] Consegir este "Ultimos Temas" en el portal
* URL del foro: http://www.talito.com.ar/foro * Versión del foro: 1.6 * Actualización: Ninguna Me preguntaba como hicieron para que el portal te...


[Imagen: jm8NfE.png]
Me preguntaba como hicieron para que el portal tenga Ultimos Temas:
Con el titulo de un Thread realizado y una iamgen del foro donde fue publicado...

Me ayudan :/ ?
Usando el bloque del proportal. Pero bueno, luego editando el php del bloque..
Abra algun tutorial como para seguir Huh
bue, los bloques del proportal no son tan dificiles, solo es modificacion de html, bueno, hasta estos momentos solo he tocado el html y me ha dado un par de "buenos resultados" , que bah, al final consegi lo que buscaba en el proportal ^^
No sé por que tanta ancia de copiar a los demás xD
A ver os hago un mini tutorial Tongue

1. Instalamos este plugin: http://mybbhacks.zingaburga.com/showthread.php?tid=260
Se llama PHP en las plantillas, que habilita el modo de usar PHP en las plantillas Tongue
2. Subir los archivos que vayáis a utilizar del ProPortal, por ej si es el bloque de top poster vais a su carpeta y en el ftp de vuestra web creáis una carpeta llamada "portal" y metéis los archivos ahí.
3. Después de haber instalado el plugin vamos a la plantilla portal o en la que vayáis a poner el bloque y ponéis:
Código PHP:
<?
include("portal/nombrebloque.php");
?>
3.1.Donde está nombrebloque es para el bloque que vayáis a subir Tongue
También se puede de esta manera aunque si no sabéis de PHP os recomiendo el paso
3, :
Vamos al bloque del topposter lo abrimos con el notepad++ y os saldrá todo esto:
(Abdón lo del code php en el css dale a width:100% sale muy enano ._.)
Código PHP:
<?php
/***************************************************************
 * ProPortal
 * Copyright © 2010 ProMyBB, All Rights Reserved
 *
 * Website: http://www.promybb.com/
 * License: http://creativecommons.org/licenses/by-nc-sa/3.0/
 ***************************************************************/
 
$tpaltbg alt_trow();
$query $db->query("SELECT uid, username, postnum, avatar, avatardimensions, usergroup, displaygroup FROM ".TABLE_PREFIX."users ORDER by postnum DESC LIMIT 0, 10");
while(
$user $db->fetch_array($query))
{
    
$username format_name($user['username'], $user['usergroup'], $user['displaygroup']);
    
$profilelink get_profile_link($user['uid']);
    if(
$user['postnum'] <= "1"){ $postnum my_number_format($user['postnum'])." ".$lang->have_post; }else{ $postnum my_number_format($user['postnum'])." ".$lang->have_posts; }
    
    if(
$user['avatar']){ $user['avatar'] = htmlspecialchars_uni($user['avatar']); }else{ $user['avatar'] = $mybb->settings['bburl']."/portal/images/user.png"$user['avatardimensions'] = "40|40"; }
    
$avatar_dimensions explode("|"$user['avatardimensions']);
    
    if(
$avatar_dimensions[0] && $avatar_dimensions[1])
    {
        list(
$max_width$max_height) = explode("x"my_strtolower("40x40"));
        if(
$avatar_dimensions[0] > $max_width || $avatar_dimensions[1] > $max_height)
        {
            require_once 
MYBB_ROOT."inc/functions_image.php";
            
$scaled_dimensions scale_image($avatar_dimensions[0], $avatar_dimensions[1], $max_width$max_height);
            
$block_avatar_width_height "width=\"{$scaled_dimensions['width']}\" height=\"{$scaled_dimensions['height']}\"";
        }
        else
        {
            
$block_avatar_width_height "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";    
        }
    }
    
    
$topposters .= "<tr><td class=\"{$tpaltbg}\" width=\"50\" align=\"center\"><img src=\"".$user['avatar']."\" alt=\"\" {$block_avatar_width_height} border=\"0\" /></td><td class=\"{$tpaltbg}\"><a href=\"{$mybb->settings['bburl']}/{$profilelink}\">{$username}</a><br />{$postnum}</td></tr>";
    
$tpaltbg alt_trow();
}

echo 
"<table border=\"0\" cellspacing=\"".$theme['borderwidth']."\" cellpadding=\"".$theme['tablespace']."\" class=\"tborder\">
        <tr>
            <td class=\"thead\" colspan=\"2\"><div class=\"expcolimage\"><img src=\"
{$theme['imgdir']}/{$expcolimage}\" id=\"block_{$result_blocks['id']}_img\" class=\"expander\" alt=\"{$expaltext}\" title=\"{$expaltext}\" /></div>
<strong>
{$lang->top_posters}</strong></td>
        </tr>
        <tbody style=\"
{$expdisplay}\" id=\"block_{$result_blocks['id']}_e\">
        
{$topposters}
        </tbody>
    </table>"
;
?>
Bueno si no sabéis de PHP yo os dejo aquí todo el code personalizado para vuestra web! :
Código PHP:
<?php
$tpaltbg 
alt_trow();
$query $db->query("SELECT uid, username, postnum, avatar, avatardimensions, usergroup, displaygroup FROM ".TABLE_PREFIX."users ORDER by postnum DESC LIMIT 0, 10");
while(
$user $db->fetch_array($query))
{
    
$username format_name($user['username'], $user['usergroup'], $user['displaygroup']);
    
$profilelink get_profile_link($user['uid']);
    if(
$user['postnum'] <= "1"){ $postnum my_number_format($user['postnum'])." ".$lang->have_post; }else{ $postnum my_number_format($user['postnum'])." ".$lang->have_posts; }
    
    if(
$user['avatar']){ $user['avatar'] = htmlspecialchars_uni($user['avatar']); }else{ $user['avatar'] = $mybb->settings['bburl']."/images/pixel.gif"$user['avatardimensions'] = "40|40"; }
    
$avatar_dimensions explode("|"$user['avatardimensions']);
    
    if(
$avatar_dimensions[0] && $avatar_dimensions[1])
    {
        list(
$max_width$max_height) = explode("x"my_strtolower("40x40"));
        if(
$avatar_dimensions[0] > $max_width || $avatar_dimensions[1] > $max_height)
        {
            require_once 
MYBB_ROOT."inc/functions_image.php";
            
$scaled_dimensions scale_image($avatar_dimensions[0], $avatar_dimensions[1], $max_width$max_height);
            
$block_avatar_width_height "width=\"{$scaled_dimensions['width']}\" height=\"{$scaled_dimensions['height']}\"";
        }
        else
        {
            
$block_avatar_width_height "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";    
        }
    }
    
    
$topposters .= "<tr><td class=\"{$tpaltbg}\" width=\"50\" align=\"center\"><img src=\"".$user['avatar']."\" alt=\"\" {$block_avatar_width_height} border=\"0\" /></td><td class=\"{$tpaltbg}\"><a href=\"{$mybb->settings['bburl']}/{$profilelink}\">{$username}</a><br />{$postnum}</td></tr>";
    
$tpaltbg alt_trow();
}

echo 
"<table border=\"0\" cellspacing=\"".$theme['borderwidth']."\" cellpadding=\"".$theme['tablespace']."\" class=\"tborder\">
        <tr>
            <td class=\"thead\" colspan=\"2\"><strong>Top posteadores de "
.$mybb->settings['home']."</strong></td>
        </tr>
        <tbody>
        
{$topposters}
        </tbody>
    </table>"
;
?>
No le he cambiado mucho pero así está bien ^^
Por defecto están 10 personas, si queréis más buscar la línea: DESC LIMIT 0, 10 y donde está el 10 lo modificáis por vuestro número.
Y ya ta creo si me falta algo decídmelo ;P
Interesante manual, buen aporte. Yo te cuento lo del ansia de copiar a los demás. Si no quisiéramos copiar a los demás no habrían diferentes sistemas de foros, tipos de software, tipos de autos, hasta tipos de bebidas, ya que todo nace por copiar y adaptar las ideas y cosas que observamos en otros entornos, así que llegado el momento en que pudiste igualar decentemente lo que querías copiar ya comienzas a pensar en como mejorar esa base y de ahí es de donde surgen las nuevas ideas. Saludos Smile