Gypaete   27 Dec, 2011, 9:04 pm
#1
Menudo nombre jaja

Este es un tutorial de esto: http://www.soportemybb.com/tema_Como-Con...4#pid11674

Más o menos lo hago mejor aquí.

1. Para usar PHP usamos esto y 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.
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:
<?
include("portal/nombrebloque.php");
?>
3.1.Donde está nombrebloque es para el bloque que vayáis a subir
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 ._.)
<?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! :


<?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

Bla bla bla. jajaja

Si queréis ajustar algún bloque ponerlo aquí y os ayudaremos.


Licencia (CC BY-NC-ND 3.0)

[Imagen: 80x15.png] Este tutorial se encuentra bajo una licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.

Autor de esta guía: Gypaete.
Si deseas publicarlo en otros sitios tendrás que publicar la licencia y la autoría.
Ryuuseiken   27 Dec, 2011, 9:08 pm
#2
Está muy bueno el tutorial aunque como tú dices hay algunos bloques que ajustarlos como el de ¿Quién esta en línea?, welcome, entre otros xd.
Reputación + Saludos!
nocktis21   27 Dec, 2011, 10:10 pm
#3
Bien Gypaete, es bueno verte por aquí compartiendo Big Grin.

PD: Dale una mejor estructura al mensaje inicial...
Dark Neo   28 Dec, 2011, 3:53 pm
#4
Buena info, yo creo que a muchos servirá. Aunque el plugin no lo he probado, ya que estuve tratandolo en la nueva versión, pero algunas funciones no son respetadas y otras si, habría que mirar que y donde se puede usar php, jeje, ya que algunas cosas no las toma y otras si, pero no lo mire a detalle, pues prefiero intentar con mas código, jeje.

Aún asi es una excelente herramienta, creo que mirare un poco más esto, ya que promete buenas cosas si es que usas el portal que ya traer por defecto MyBB. Pero con eso de que estoy tambien mirando el Pro Portal, no se por donde comenzar xD.
nentab   28 Dec, 2011, 4:41 pm
#5
Gracias por el tutorial!
  
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.