Tagging system - mostrar los tags en MessageIndex.template.php

Started by Unodeinternet, November 19, 2015, 08:25:10 PM

Previous topic - Next topic

Unodeinternet

Hola a tod@s,

pues nada, a ver si alguien me sabe indicar como hacer para mostrar los tags del mod Tagging System 3.0 en el listado de mensajes del fichero MessageIndex.template.php

Gracias, un saludo.

Unodeinternet

Bueno, os dejo como hacerlo, de forma más o menos rápida y facilita.

en el fichero Themes/Sources/MessageIndex.php

añadimos este código justo encima de la frase esa que sale sobre la linea 402:

//Tagging System
$tagresult= $smcFunc['db_query']('', "SELECT t.tag,l.ID,l.ID_TOPIC,t.ID_TAG FROM {db_prefix}tags_log as l, {db_prefix}tags as t WHERE t.ID_TAG = l.ID_TAG");
$context['topic_tags'] = array();
while($row = $smcFunc['db_fetch_assoc']($tagresult))
{
$context['topic_tags'][] = array(
'ID_TOPIC' => $row['ID_TOPIC'],
'ID' => $row['ID'],
'ID_TAG' => $row['ID_TAG'],
'tag' => $row['tag'],
);
}
$smcFunc['db_free_result']($tagresult);
//End Tagging System

// Begin 'printing' the message index for current board.


Quien tenga ganas que lo pula currándose una query justo encima donde dice "// Grab the appropriate topic information..." que es lo que obtiene todos los posts, y se podría hacer para que obtenga también las tags de cada post, pero no tengo demasiado tiempo para pensarlo.

Después en el fichero Themes/default/MessageIndex.template.php

añadimos este código donde queramos obtener las tags del topic:

$tags='';
foreach ($context['topic_tags'] as $i => $tag)
{
if ($tag['ID_TOPIC']==$topic['id'])
$tags.='<a href="' . $scripturl . '?action=tags;tagid=' . $tag['ID_TAG']  . '">' . $tag['tag'] . '</a>&nbsp;&nbsp;';
}
echo $tags;


Espero que os sea útil, un saludo.

Advertisement: