• Consiglio Direttivo

    [SMF] Integrazione script per Mod Simple Tagging.

    Buonasera a tutti!! 🙂

    Premetto che sono nuovo di pacca con SMF.

    L'ho installata al fine di testarla ed iniziare a capirci qualcosa, integrando varie Mod (una quarantina :bigsmile:).
    Tra queste la Mod Simple Tagging...

    Noto, con dispiacere, che nella pagina della discussione taggata, i tags non si vedono da nessuna parte, mi sembrava fosse il "minimo sindacale". :bigsmile:

    Ancora troppo inesperto per potermi giostrare con la struttura ho dato un'occhiata al Db ed ho creato la mia query per poter visualizzare la Tag Cloud ma con solo i tags relativi alla discussione che sto visualizzando, ovvero questo:
    [php]<?

    $sql="SELECT t.id_tag, i.tag_name FROM smf_tag_topics AS t JOIN smf_tags AS i ON t.id_tag = i.id_tag WHERE t.id_topic='".$context['current_topic']."'";
    $query=@mysql_query($sql) or die (mysql_error());
    ?>

    <table border="0" cellspacing="0" cellpadding="8" align="center" class="tborder" style="width: 60%;">
    <tr class="catbg3">
    <td align="center"><b>Tag</b></td>

            </tr>
            <tr>
                <td class="windowbg" style="padding: 1em 2em 1em 2em; text-align: center;">
                <?
                while ($array=mysql_fetch_array($query))
                {
                ?>
                    <a href="http://www.domain.ext/index.php?action=tags;name=<? echo $array['tag_name']; ?>" style="z-index: 150; position: relative; font-size: 100%; color: #0AC92B;" title="Visualizza altri topic"><? echo $array['tag_name']; ?></a>&nbsp;
                <?
                }
                ?>
                </td>
            </tr>
    

    </table>[/php]E funziona...l'unico problema è capire qual'è il file di struttura che devo toccare per farla apparire dove voglio. Avevo pensato, come è quì su GT, di metterla prima della Quick Reply. Ho girato un po' i file per capire come è strutturato il template ma ahimé non ho cavato un ragno dal buco.

    Mi aiutate a capire come integrarlo? 🙂


  • Consiglio Direttivo

    Primo passo compiuto, guardavo i file errati. 🙂

    Il file da modificare era il Themes/default/Display.template.php

    Per visualizzarla ho aggiunto il codice del post precendente alla riga 611:
    [php]<?
    ....
    // The Topic Solved button.
    if ($context['can_solve_topic'])
    $mod_buttons[] = array('text' => $context['topic_solved'] ? 'topic_not_solved' : 'topic_solved', 'image' => '', 'lang' => true, 'url' => $scripturl . '?action=topicsolved;topic=' . $context['current_topic'] . ';sesc=' . $context['session_id']);

    // riga 611
    // Samyorn's Hack BEGIN: add a tag cloud with only the tags of this topics
    $sql="SELECT t.id_tag, i.tag_name FROM smf_tag_topics AS t JOIN smf_tags AS i ON t.id_tag = i.id_tag WHERE t.id_topic='".$context['current_topic']."'";
    $query=@mysql_query($sql) or die (mysql_error());
    ?>

    <table border="0" cellspacing="0" cellpadding="8" align="center" class="tborder" style="width: 60%;">
    <tr class="catbg3">
    <td align="center"><b>Tag</b></td>

            </tr>
            <tr>
                <td class="windowbg" style="padding: 1em 2em 1em 2em; text-align: center;">
                <?
                while ($array=mysql_fetch_array($query))
                {
                ?>
                    <a href="http://www.domain.ext/index.php?action=tags;name=<? echo $array['tag_name']; ?>" style="z-index: 150; position: relative; font-size: 100%; color: #0AC92B;" title="Visualizza altri topic"><? echo $array['tag_name']; ?></a>&nbsp;
                <?
                }
                ?>
                </td>
            </tr>
    

    </table><br />
    <?
    // Samyorn's Hacks END: add a tag cloud
    echo '
    <div id="moderationbuttons">', template_button_strip($mod_buttons, 'bottom'), '</div>';[/php]Perfettamente funzionante. 🙂
    Il link del tag porta alla pagina per visualizzare i topics presenti nel forum che han lo stesso tag.

    Per me è di certo una conquista. 😄
    Spero torni utile ad altri. 😉