Autor Tema: Tutorial - Iconos Personalizados para Foros  (Leído 457 veces)

Desconectado PIRELA on: Octubre 22, 2021, 09:29:59 pm

  • Experto SMF
  • *
  • 3d Maker
  • *
  • *
  • Posts: 3
  • Gracias Recibida: 33
    • Ver Perfil
Para empezar, necesitaremos el archivo BoardIndex.template.php de nuestro tema, buscamos desde el siguiente código:

Código: [Seleccionar]
/* Each board in each category's boards has:
Hasta el siguiente código dado:

Código: [Seleccionar]
// Has it outstanding posts for approval?
Remplazaremos el desde /* Each board in each category's boards has: - hasta antes de // Has it outstanding posts for approval? usando el siguiente codigo:

Código: [Seleccionar]
/* Each board in each category's boards has:
new (is it new?), id, name, description, moderators (see below), link_moderators (just a list.),
children (see below.), link_children (easier to use.), children_new (are they new?),
topics (# of), posts (# of), link, href, and last_post. (see below.) */
foreach ($category['boards'] as $board)
{
echo '
<tr id="board_', $board['id'], '" class="windowbg2">';

$imagen_foro['local_url'] = $settings['theme_dir'].'/iconos/';
 $imagen_foro['web_url'] = $settings['theme_url'].'/iconos/';
 
 if(file_exists($imagen_foro['local_url'].''.(int)$board['id'].'.png'))
  $imagen_foro['on'] = $imagen_foro['web_url'].''.(int)$board['id'].'.png';
 else
  $imagen_foro['on'] = $imagen_foro['web_url'].'on.gif';
 
 if(file_exists($imagen_foro['local_url'].''.(int)$board['id'].'.png'))
  $imagen_foro['off'] = $imagen_foro['web_url'].''.(int)$board['id'].'.png';
 else
  $imagen_foro['off'] = $imagen_foro['web_url'].'off.gif';
  echo '';
// If the board or children is new, show an indicator.
if ($board['new'] || $board['children_new'])
echo '

<td class="icon icono_on"', !empty($board['children']) ? ' rowspan="2"' : '', '>
<a href="', ($board['is_redirect'] || $context['user']['is_guest'] ? $board['href'] : $scripturl . '?action=unread;board=' . $board['id'] . '.0;children'), '">
<img src="'.$imagen_foro['on'].'" alt="', $txt['new_posts'], '" title="', $txt['new_posts'], '" /></a></td>';

// Is it a redirection board?
elseif ($board['is_redirect'])
echo '
<td class="icon windowbg"', !empty($board['children']) ? ' rowspan="2"' : '', '>
<a href="', ($board['is_redirect'] || $context['user']['is_guest'] ? $board['href'] : $scripturl . '?action=unread;board=' . $board['id'] . '.0;children'), '">
<img src="', $settings['images_url'], '/', $context['theme_variant_url'], 'redirect.png" alt="*" title="*" /></a></td>';

// No new posts at all! The agony!!
else

echo '
<td class="icon icono_off"', !empty($board['children']) ? ' rowspan="2"' : '', '>
<a href="', ($board['is_redirect'] || $context['user']['is_guest'] ? $board['href'] : $scripturl . '?action=unread;board=' . $board['id'] . '.0;children'), '">
<img src="'.$imagen_foro['off'].'" alt="', $txt['old_posts'], '" title="', $txt['old_posts'], '" /></a></td>';

echo '
<td class="info windowbg2" width="40%">
<a class="subject" href="', $board['href'], '" name="b', $board['id'], '">', $board['name'], '</a>';

Luego crearemos en la carpeta del tema actual una carpeta llamada iconos donde adentro deben ir las imagenes de cada foro y esto se hace por id, veamos un ejemplo claro.

Deseo poner icono personalizado a Discusión General, su id es 2 lo sabemos por lo siguiente http://www.tuforo/index.php?board=2.0 ese número indica la id del foro y con el entonces nombramos la imagén que deseo que aparezca en ese foro con el nombre de 2.png. Luego así con cada sección.

Pero antes, necesitaremos agregar esto a nuestro css/index.css

Código: [Seleccionar]
.icono_on{
   background-color: #D3FFC8;
}

.icono_off{
   background-color: #F9FFD7;
}
« Última Modificación: Octubre 22, 2021, 09:33:15 pm por PIRELA »