Visualizzazione risultati 1 fino 10 di 10

Discussione: [MyBB] Riquadro in cima all'index x news

  1. #1
    Guest

    Question [MyBB] Riquadro in cima all'index x news

    Vorrei inserire nel mio nuovo forum una cosa simile a quella visibile sul forum ufficiale di myBB: mette in evidenza l'ultima news mostrando un riquadro verde in cima alla pagina principale.
    Qualcuno potrebbe dirmi come fare lo stesso? Ho cercato qualche mod che facesse al caso mio ma nessuna andava bene...

  2. #2
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    Sito in Italiano, download -> plugin -> messaggio globale
    oppure mods.mybboard.com ->modification -> ecc... ecc... news e scarichi il plugin "board message"
    Se smetti di imparare e evolverti sei morto dentro

  3. #3
    Guest

    Predefinito

    Il plugin ce l'ho, però dovrei mettere un pezzo di codice per far sì che venga mostrato il titolo del thread più recente dell'area Annunci. Andrebbe inserito in un riquadro, come indicato prima. Potresti gentilmente postare il codice necessario? :-)

  4. #4
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    vedo come effettuare la modifica ... magari ti passo il plugin completo.

    edit:
    prendi il plugin e lo modifichi nel seguente modo:
    Codice PHP:
    <?php

    $plugins
    ->add_hook('global_start', 'boardmsg');

    function
    boardmsg_info()
    {
    return array(
    'name' => 'Board Message',
    'description' => 'Abilitato mostra un messaggio in tutte le pagine del forum.',
    'website' => 'http://mods.mybboard.com',
    'author' => 'Musicalmidget',
    'authorsite' => 'http://mods.mybboard.com',
    'version' => '1.0',
    );
    }

    function
    boardmsg_activate()
    {
    require
    './inc/adminfunctions_templates.php';
    global
    $db;

    $boardmsg_group = array(
    "gid" => "NULL",
    "name" => "Impostazioni Board message",
    "description" => "Impostazioni del plugin board message.",
    "disporder" => "3",
    "isdefault" => "no",
    );

    $db->insert_query(TABLE_PREFIX."settinggroups", $boardmsg_group);
    $gid = $db->insert_id();

    $boardmsg_setting_1 = array(
    "sid" => "NULL",
    "name" => "showboardmsg",
    "title" => "Abilita Board Message",
    "description" => "Mostra il messaggio sotto header?",
    "optionscode" => "onoff",
    "value" => "on",
    "disporder" => "1",
    "gid" => intval($gid),
    );

    $boardmsg_setting_2 = array(
    "sid" => "NULL",
    "name" => "boardmsg",
    "title" => "Messaggio",
    "description" => "Inserisci il messaggio da mostrare nelle varie pagine del forum.",
    "optionscode" => "textarea",
    "value" => "Questo e un messaggio globale dell\' amministratore puoi modificarlo dalle impostazioni del forum nell\'area di amministrazione.",
    "disporder" => "2",
    "gid" => intval($gid),
    );

    $db->insert_query(TABLE_PREFIX."settings", $boardmsg_setting_1);
    $db->insert_query(TABLE_PREFIX."settings", $boardmsg_setting_2);

    $boardmsg_template = array(
    "tid" => "NULL",
    "title" => "global_boardmsg",
    "template" => "<table border=\"0\" cellspacing=\"1\" cellpadding=\"4\" class=\"tborder\">
    <tbody>
    <tr>
    <td class=\"trow1\">\$boardmessage</td>
    </tr>
    </tbody>
    </table>
    <br />"
    ,
    "sid" => "-1",
    "version" => "100.07",
    "status" => "",
    "dateline" => "1134703642",
    );

    $db->insert_query(TABLE_PREFIX."templates", $boardmsg_template);
    find_replace_templatesets('header', '#<navigation>#', "\$boardmsg\n\t\t\t<navigation>");
    }

    function
    boardmsg_deactivate()
    {
    require
    './inc/adminfunctions_templates.php';
    global
    $db;

    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN('showboardmsg', 'boardmsg')");
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='Board Message Settings'");
    $db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='global_boardmsg'");

    find_replace_templatesets('header', '#\$boardmsg\n\t\t\t#', '', 0);
    }

    function
    boardmsg()
    {
    global
    $mybb, $db, $templates, $boardmsg;

    if(
    $mybb->settings['showboardmsg'] != 'off')
    {
    $query=$db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE fid='2' ORDER BY dateline DESC LIMIT 0,1");
    $ann=$db->fetch_array($query);
    $last_ann=$ann[subject];
    $tidd=$ann[tid];
    $boardmessage="Ultimo annuncio: <a href=\"showthread.php?tid=$tidd\">$last_ann</a>";
    eval(
    "\$boardmsg = \"".$templates->get('global_boardmsg')."\";");
    }
    }
    ?>
    ATTENZIONE, devi modificare il valore della query, ovvero il WHERE fid='2' con il valore "fid" del forum degli annunci.
    Ultima modifica di makpaolo : 19-06-2006 alle ore 10.47.52
    Se smetti di imparare e evolverti sei morto dentro

  5. #5
    Guest

    Predefinito

    In pratica devo sostituire solo la parte finale del metodo boardmsg(), giusto?

    EDIT -> Non funziona, mi dà un errore tipo "call to a member function on a non-object...". Inoltre io vorrei includere il messaggio configurabile dal pannello (ci metto Google Adsense), il quale verrebbe messo sopra la parte fissa con l'ultima news.
    Ultima modifica di Syst3mCrash3r : 19-06-2006 alle ore 11.26.41

  6. #6
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    esatto, ho aggiunto la query... ho postato tutto se servisse a qualcunaltro ...
    Se smetti di imparare e evolverti sei morto dentro

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Syst3mCrash3r
    EDIT -> Non funziona, mi dà un errore tipo "call to a member function on a non-object...". Inoltre io vorrei includere il messaggio configurabile dal pannello (ci metto Google Adsense), il quale verrebbe messo sopra la parte fissa con l'ultima news.
    Ehm...

  8. #8
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    hai aggiunto solo la query? devi mettere nei "global" anche il "$db".
    Per il google Adsense cosa intendi?
    vorresti usare sia il plugin come "originale" + secondo riquadro con news?

    edit
    fai così ...
    lascia boardmsg come da originale, in modo da poter mettere il banner o ciò che vuoi.
    crea un file php "boardnews.php"
    e mettici tutto il seguente codice
    Codice PHP:
    <?php

    $plugins
    ->add_hook('global_start', 'boardnews');

    function
    boardnews_info()
    {
    return array(
    'name' => 'Board News',
    'description' => 'Abilitato mostra il titolo dell\'ultima news in tutte le pagine del forum.',
    'website' => 'http://mybboard.it',
    'author' => 'Makpaolo -> original by Musicalmidget',
    'authorsite' => 'http://mods.mybboard.com',
    'version' => '1.0',
    );
    }

    function
    boardnews_activate()
    {
    require
    './inc/adminfunctions_templates.php';
    global
    $db;

    $boardnews_group = array(
    "gid" => "NULL",
    "name" => "Impostazioni Board News",
    "description" => "Impostazioni del plugin board news.",
    "disporder" => "3",
    "isdefault" => "no",
    );

    $db->insert_query(TABLE_PREFIX."settinggroups", $boardnews_group);
    $gid = $db->insert_id();

    $boardnews_setting_1 = array(
    "sid" => "NULL",
    "name" => "showboardnews",
    "title" => "Abilita Board News",
    "description" => "Mostra la news sotto header?",
    "optionscode" => "onoff",
    "value" => "on",
    "disporder" => "1",
    "gid" => intval($gid),
    );

    $boardnews_setting_2 = array(
    "sid" => "NULL",
    "name" => "boardnews",
    "title" => "FID",
    "description" => "Inserisci il fid del forum adibito a news.",
    "optionscode" => "textarea",
    "value" => "1",
    "disporder" => "2",
    "gid" => intval($gid),
    );

    $db->insert_query(TABLE_PREFIX."settings", $boardnews_setting_1);
    $db->insert_query(TABLE_PREFIX."settings", $boardnews_setting_2);

    $boardnews_template = array(
    "tid" => "NULL",
    "title" => "global_boardnews",
    "template" => "<table border=\"0\" cellspacing=\"1\" cellpadding=\"4\" class=\"tborder\">
    <tbody>
    <tr>
    <td class=\"trow1\">\$boardnews</td>
    </tr>
    </tbody>
    </table>
    <br />"
    ,
    "sid" => "-1",
    "version" => "100.07",
    "status" => "",
    "dateline" => "1134703642",
    );

    $db->insert_query(TABLE_PREFIX."templates", $boardnews_template);
    find_replace_templatesets('header', '#<navigation>#', "\$boardnews\n\t\t\t<navigation>");
    }

    function
    boardnews_deactivate()
    {
    require
    './inc/adminfunctions_templates.php';
    global
    $db;

    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN('showboardnews', 'boardnews')");
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='Board News Settings'");
    $db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='global_boardnews'");

    find_replace_templatesets('header', '#\$boardnews\n\t\t\t#', '', 0);
    }

    function
    boardnews()
    {
    global
    $mybb, $db, $templates, $boardnews;

    if(
    $mybb->settings['showboardnews'] != 'off')
    {
    $query=$db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE fid='".$mybb->settings['boardnews']."' ORDER BY dateline DESC LIMIT 0,1");
    $ann=$db->fetch_array($query);
    $last_ann=$ann[subject];
    $tidd=$ann[tid];
    $boardnews="Ultimo annuncio: <a href=\"showthread.php?tid=$tidd\">$last_ann</a>";
    eval(
    "\$boardnews = \"".$templates->get('global_boardnews')."\";");
    }
    }
    ?>
    praticamente ho usato quello "originale" per crearne una copia adatta allo scopo, così puoi modificare le impostazioni di entrambi lasciandoli separati, 2 plugin per 1 lavoro "simile".
    Ultima modifica di makpaolo : 19-06-2006 alle ore 12.11.02
    Se smetti di imparare e evolverti sei morto dentro

  9. #9
    Guest

    Predefinito

    Perfetto, ora funziona! Se mi permetti due piccoli suggerimenti:

    1) Aggiungi un'opzione per rendere centrato il messaggio (on/off), oppure la scelta multipla per sinistra, destra, centrato.
    2) Proponilo su http://mods.mybboard.com/ , può essere utile a molti altri! ;-)

  10. #10
    L'avatar di makpaolo
    makpaolo non è connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    proporlo non lo trovo corretto dato che ho solo "leggermente" modificato il plugin boardmessage.
    Sicuramente su quella riga quando ho tempo ne creerò uno con più opzioni, magari anche la possibilità di elencare più news, centrare e altro come da tè suggerito ...

    Dato che è risolto chiudo, se avrò/avrai novità ci sentiamo in pvt e in caso aggiorniamo quasta discussione.
    Se smetti di imparare e evolverti sei morto dentro

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •