News:

Wondering if this will always be free?  See why free is better.

Main Menu

[Tutorial] Medallas bajo la firma

Started by Dragonhero, February 04, 2013, 02:42:29 PM

Previous topic - Next topic

Dragonhero

Mucha gente pregunta practicamente a diario como poner las medallas bajo la firma, y algunos de ellos no consiguen ponerlas. Pues yo os contare como, solamente deben seguir estos pasos.

Debes tener instalado member awards

Entran a su theme y entran a display.template.php (Siempre deben guardar una copia de seguridad)

Buscan:
// Show their awards?
if (!empty($message['member']['awards']) && $modSettings['awards_in_post'] > 0){
echo '
<li>
<fieldset style="border: 1px solid black; padding: 5px;">
<legend>', $txt['awards'], '</legend>';
// Couldn't limit it in Load.php, so let's do it here.
$awards = 0;
foreach ($message['member']['awards'] as $award){
if($awards < $modSettings['awards_in_post'])
echo '
<a href="', $scripturl, $award['more'], '"><img src="', dirname($scripturl), $award['img'], '" alt="', $award['description'], '" title="', $award['description'], '" /></a> ';
$awards++;
}

echo '
</fieldset>
</li>';
}


Lo eliminan.

Ahora buscan:

// Show the member's signature?
if (!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled'])
echo '
<div class="signature" id="msg_', $message['id'], '_signature">', $message['member']['signature'], '</div>';


Debajo de eso añaden:

// Show their awards?
if (!empty($message['member']['awards']) && $modSettings['awards_in_post'] > 0){
echo '

</br><table border="0" cellpadding="2" cellspacing="0" width="100%">
  <tbody>
<tr>
  <td style="-moz-border-radius: 5px; -webkit-border-radius: 5px; -os-border-radius: 5px; -ms-border-radius: 5px; background: #916B2F; margin: 10px; font-size: 11px; font-weight: bold; color: rgb(255, 255, 255);"><div align="center">Mis Medallas</div></td>
</tr>
  </tbody>
</table>
<div align="center">';






Y listo! Ya tendrán las medallas debajo de la firma, pueden modificar los colores, el texo a mostrar etc. Prueben modificando el codigo.

Resultado:


lean


Dragonhero

Si lo está, no lo ví, pero claramente no tiene nada que ver, el otro tutorial te pone las medallas debajo del post no de la firma, éste es más sencillo y rapido. Pero si lo prefieres.. xd

lean

Todo aporte es bienvenido a la comunidad.
Lo paso a tutoriales.
Saludos

Pd: deberias ponerle alguna imagen para mostrar como queda.

Dragonhero

Gracias, se agradece, a todos los demas, espero que les sirva :) dejo el chat xd

Patrick D

A mi me parece un poco básico visto así. La forma en la que lo hacía yo era añadiendo todo para que se cambiara desde la admin.

Display.template.php

//Mostraje de medallas en modo favorito por Raider-8
if($modSettings['medallas_activadas']) {
if($modSettings['medallas_modofav'] == 'on') {
//Obtenemos las medallas
global $smcFunc, $db_prefix, $scripturl, $boardurl;     
$limite_med = $modSettings['awards_in_post']; //Cambiamos por el máximo de objetos a mostrar 
$result_med = $smcFunc['db_query']('', "SELECT * FROM {$db_prefix}awards_members WHERE favorite = '1' AND id_member = '".$message['member']['id']."'ORDER by uniq_id LIMIT ".$limite_med."");       
if($smcFunc['db_num_rows']($result_med) > 0){           
echo '<div class="signature"><center><table border="0" cellpadding="2" cellspacing="0" width="100%" height="18">
<tbody>
<tr>
<td style="-moz-border-radius: 5px; -webkit-border-radius: 5px; -os-border-radius: 5px; -ms-border-radius: 5px; background: '.$modSettings['medallas_colorbarra'].'; margin: 10px;">
<div align="center" style="color: white;" ><b>Medallas de ', $message['member']['name'], ' ';
if($modSettings['medallas_numinclude'] == 'on') {
echo ' (',count($message['member']['awards']),' Medallas) ';
}
echo ' - Consíguelas en los concursos de ',$context['forum_name'],'</b></div>
</td>
</tr>
</tbody>
</table></center>';
echo '<div style="padding: 5px;" align="center">';
while($load = $smcFunc['db_fetch_assoc']($result_med)) {
$result_load = $smcFunc['db_query']('', "SELECT * FROM {$db_prefix}awards WHERE id_award = '".$load['id_award']."'");
while($load_med = $smcFunc['db_fetch_assoc']($result_load)) {
echo '&nbsp;<img src="'.$boardurl.'/awards/'.$load_med['minifile'].'" title="'.$load_med['description'].'">&nbsp;';
}
}
echo '</div></div>';
}
}
//fin de modo favorito
// Mostraje de medallas por Raider-8 en modo normal
if($modSettings['medallas_modofav'] == 'off') {
if (!empty($message['member']['awards']) && $modSettings['awards_in_post'] > 0){
echo'<div class="signature">';
$total_medallas = count($message['member']['awards']);
echo '
<center><table border="0" cellpadding="0" cellspacing="0" width="100%" height="18">
<tbody>
<tr>
<td style="-moz-border-radius: 5px; -webkit-border-radius: 5px; -os-border-radius: 5px; -ms-border-radius: 5px; background: '.$modSettings['medallas_colorbarra'].'; margin: 10px;">
<div align="center" style="color: white;" ><b>Medallas de ', $message['member']['name'], ' ';
if($modSettings['medallas_numinclude'] == 'on') {
echo ' (',$total_medallas,' Medallas) ';
}
echo ' - Consíguelas en los concursos de ',$context['forum_name'],'</b></div>
</td>
</tr>
</tbody>
</table></center>
<div align="center" style="margin-top: 5px;">';
$medallas = 0;

foreach ($message['member']['awards'] as $medalla){
if($medallas < $modSettings['awards_in_post'])
echo '<img src="', dirname($scripturl), $medalla['img'], '" alt="', $medalla['description'], '" title="', $medalla['description'], '" />';
$medallas++;
}
echo '</div></div>';
}
}
}
//Fin medallas en firma


Sources/ManageSettings.php (después de):
// Mod authors, add any settings UNDER this line. Include a comma at the end of the line and don't remove this statement!!

Añadir:

'Medallas en Firma',
    array('check', 'medallas_activadas'),
array('select', 'medallas_colorbarra', array('#298A08' => 'Verde', '#FF0000' => 'Rojo', '#6E6E6E' => 'Gris', '#8A0886' => 'Lila', '#DF7401' => 'Naranja', '#61210B' => 'Marron', '#0431B4' => 'Azul')),
array('select', 'medallas_numinclude', array('on' => 'Si', 'off' => 'No')),
array('select', 'medallas_modofav', array('off' => 'No', 'on' => 'Si'))



Modifications.english.php

//Medallas 3.0
$txt['medallas_activadas'] = 'Enable awards under signature';
$txt['medallas_colorbarra'] = 'Bar color (awards)';
$txt['medallas_numinclude'] = 'Include number of awards on post';
$txt['medallas_modofav'] = 'Show only favorite awards';
//Fin


Modifications.spanish_latin.php o Modification_spanish_es.php

//Medallas 3.0
$txt['medallas_activadas'] = 'Activar mostraje de medallas en firma';
$txt['medallas_colorbarra'] = 'Color de la barra de medallas';
$txt['medallas_numinclude'] = 'Inclu&iacute;r n&uacute;mero de medallas en el post';
$txt['medallas_modofav'] = 'Mostrar solo las favoritas';
//Fin


De esa forma, puedes incluír el número de medallas totales en la barra, cambiar el color de la barra, mostrar SÓLO las medallas que el usuario tiene como favoritas, o activar/desactivar las medallas en firma.

Son los códigos de un MOD que hacía eso (de poner las medallas en firma, con admin), que hice hace muchos meses.


PD: Si quieres poner los códigos en tu tutorial, no tengo problema, siempre que dejes agradecimiento.

Dragonhero

raider-8 ese no era de dinobeach? o de inmortal

Se agradece la ayuda, a lo mejor luego lo añado.

Patrick D

Quote from: Dragonhero on February 04, 2013, 03:31:16 PM
raider-8 ese no era de dinobeach? o de inmortal

Se agradece la ayuda, a lo mejor luego lo añado.

Claro, yo soy raider-8.

Dragonhero

que bueno  e.e me tienes que enseñar muchas cosas eh

negetossj


Dragonhero

He arreglado un bug que había en los códigos.

Advertisement: