Topic più Visto

Questa discussione si intitola Topic più Visto nella sezione Database MODs. Nome MOD: Topic più Visto Autore: Descrizione MOD: Visualizza una lista degli argomenti più visitati nell'indice del forum. Versione MOD: 2.2.0 Testato su questa versione ...

Topic più Visto

Messaggioda phpBBItalia.net » 15/04/2011, 21:24

Nome MOD: Topic più Visto
Autore: Carlo
Descrizione MOD: Visualizza una lista degli argomenti più visitati nell'indice del forum.
Versione MOD: 2.2.0
Testato su questa versione di phpBB: 3.0.8

Download file: Topic piu Visto.zip
Dimensione file: 33939 Byte

Pagina della MOD: Visualizza

Lo Staff di phpBBItalia.net non è responsabile né è tenuto a fornire supporto per questa MOD. Installando questa MOD, si riconosce che lo Staff di supporto di phpBBItalia.net, può non essere in grado di fornire supporto.
Ultima modifica di phpBBItalia.net il 15/04/2011, 21:27, modificato 1 volta in totale.
Avatar utente
phpBBItalia.net
Robot
Robot
 
Messaggi: 237
Iscritto il: 19/04/2009, 14:50
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:
PHP: 5.3.8
Database: MySQL 5.1.57-community-log

  • Condividi questa discussione
  • Ti piace questa discussione?
    Condividila! :)

Re: Topic più Visto

Messaggioda Carlo » 15/04/2011, 21:24

MOD validata/rilasciata.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Dropbox: 2 GB di spazio di archiviazione GRATIS! Registrati ora!
BidVertiser: Guadagna con il tuo sito! Registrati ora!
Avatar utente
Carlo
Amministratore
Amministratore
 
Messaggi: 8888
Iscritto il: 19/04/2009, 10:24
Località: Puglia
Sesso: Maschio
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:
PHP: 5.3.8
Database: MySQL 5.1.60-community-log


Re: Topic più Visto

Messaggioda Haku » 26/04/2011, 15:29

Carlo, volevo avvisarti che la linea di codice:
Codice: Seleziona tutto
// Output page
page_header($user->lang['INDEX']);

in index.php, non è presente.

Io ho la SEO installata, non so se dipende da questo.
Non ho controllato la differenza dei file tra l'originale e la SEO per verificare se quel pezzo doveva essere modificato.
Avatar utente
Haku
Traduttore
Traduttore
 
Messaggi: 2527
Iscritto il: 22/09/2009, 22:36
Sesso: Maschio
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:

Re: Topic più Visto

Messaggioda Carlo » 26/04/2011, 16:19

Invece c'è! Prova a cercare solo:
Codice: Seleziona tutto
// Output page
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Dropbox: 2 GB di spazio di archiviazione GRATIS! Registrati ora!
BidVertiser: Guadagna con il tuo sito! Registrati ora!
Avatar utente
Carlo
Amministratore
Amministratore
 
Messaggi: 8888
Iscritto il: 19/04/2009, 10:24
Località: Puglia
Sesso: Maschio
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:
PHP: 5.3.8
Database: MySQL 5.1.60-community-log


Re: Topic più Visto

Messaggioda Haku » 27/04/2011, 1:58

Pensavo non si potesse inserire se non era la linea uguale ^^'
Funziona perfettamente.
Per aumentare il numero di topic, devo modificare:
Codice: Seleziona tutto
ORDER BY topic_views DESC LIMIT 0,5

???
Avatar utente
Haku
Traduttore
Traduttore
 
Messaggi: 2527
Iscritto il: 22/09/2009, 22:36
Sesso: Maschio
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:

Re: Topic più Visto

Messaggioda Micogian » 27/04/2011, 7:11

Personalmente farei una piccola modifica: invece di inserire l'intero codice nel file index.php si potrebbe creare un file "mod_tviews.php" con il codice della query:
Codice: Seleziona tutto
<?php
// INIZIO - Topic più Visto -- by carlino1994
$sql = "SELECT topic_id, forum_id, topic_title FROM " . TOPICS_TABLE . " ORDER BY topic_views DESC LIMIT 0,5";
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result))
{
   if ($auth->acl_get('f_read', $row['forum_id']) == 1) {
      $template->assign_block_vars('topicvisto', array(
         'LINK'    => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row['forum_id'] . "&amp;t=" . $row['topic_id']),
         'TITOLO'    => $row['topic_title'])
      );
   }
}
$db->sql_freeresult($result);
// FINE
?>

nel file index.php, sempre prima della riga "// Output page" si inserisce il seguente include:
Codice: Seleziona tutto
include($phpbb_root_path . 'mod_tviews.' . $phpEx);

Questo limita a una sola riga l'inserimento di codice nel file index.php e il file mod_twiews.php può essere utilizzato anche nella Home.

Una Mod simile è la Topten_topics che ho realizzato io e che consente di visualizzare in una unica tabella 3 delle 4 liste tra gli "ultimi Topics", i "topics più visti", i "topics con più risposte" e gli "ultimi posts".
http://www.phpbbitalia.net/forum/mods-sviluppo-f12/mod-topten-topics-ver-t3225.html
Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
 
Messaggi: 2466
Iscritto il: 07/01/2010, 9:51
Località: Udine
Versione: 3.0.10
MOD:
Server: UNIX/Linux
phpBB SEO: No
PHP: 5.2.9
Database: MySQL 5.0.77

Re: Topic più Visto

Messaggioda Carlo » 27/04/2011, 15:59

Ad ogni modo puoi aumentare il limite, modificando il numero di record da leggere da 5 al numero di discussioni che ti interessano:
Codice: Seleziona tutto
LIMIT 0,5
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Dropbox: 2 GB di spazio di archiviazione GRATIS! Registrati ora!
BidVertiser: Guadagna con il tuo sito! Registrati ora!
Avatar utente
Carlo
Amministratore
Amministratore
 
Messaggi: 8888
Iscritto il: 19/04/2009, 10:24
Località: Puglia
Sesso: Maschio
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:
PHP: 5.3.8
Database: MySQL 5.1.60-community-log


Re: Topic più Visto

Messaggioda Micogian » 27/04/2011, 16:44

Carlo, la tua Mod prevede il controllo dei permessi di lettura del topic.
Questo potrebbe ridurre il numero dei Topics visualizzati nella Lista.
La soluzione è questa: si dichiara all'inizio il numero di records da estrarre e il numero dei Topics da visualizzare (naturalmente il valore dei records deve essere superiore al valore dei Topics da visualizzare).
Le condizioni IF controllano se il topic ha i permessi di lettura e limita il numero dei Topics da visualizzare.
La modifica da fare è questa:
Codice: Seleziona tutto
<?php
// INIZIO - Topic più Visto -- by carlino1994
$nrec = 10; // numero dei records da estrarre
$ntop = 5 ; // numero dei topics da visualizzare

$sql = "SELECT topic_id, forum_id, topic_title FROM " . TOPICS_TABLE . " ORDER BY topic_views DESC LIMIT 0,$nrec";
$result = $db->sql_query($sql);

n = '0' ;
while ($row = $db->sql_fetchrow($result))
{
   if ($auth->acl_get('f_read', $row['forum_id']) == 1) {
   if ( $n < $ntop )
   {
         $template->assign_block_vars('topicvisto', array(
         'LINK'    => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row['forum_id'] . "&amp;t=" . $row['topic_id']),
         'TITOLO'    => $row['topic_title'])
         );
   ++$n ;
   }
   }
}
$db->sql_freeresult($result);
// FINE
?>
Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
 
Messaggi: 2466
Iscritto il: 07/01/2010, 9:51
Località: Udine
Versione: 3.0.10
MOD:
Server: UNIX/Linux
phpBB SEO: No
PHP: 5.2.9
Database: MySQL 5.0.77

Re: Topic più Visto

Messaggioda Carlo » 27/04/2011, 17:10

Esatto. Un piccolo consiglio.

Quando il ciclo while() ha mostrato il numero di argomenti definiti in $ntop, puoi inserire un break in modo tale che il ciclo venga terminato, e non continui fino a quando non ha estratto tutti gli argomenti.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Dropbox: 2 GB di spazio di archiviazione GRATIS! Registrati ora!
BidVertiser: Guadagna con il tuo sito! Registrati ora!
Avatar utente
Carlo
Amministratore
Amministratore
 
Messaggi: 8888
Iscritto il: 19/04/2009, 10:24
Località: Puglia
Sesso: Maschio
Versione: 3.0.9
MOD:
Server: UNIX/Linux
phpBB SEO:
PHP: 5.3.8
Database: MySQL 5.1.60-community-log


Re: Topic più Visto

Messaggioda Micogian » 27/04/2011, 17:25

Carlo ha scritto:Esatto. Un piccolo consiglio.

Quando il ciclo while() ha mostrato il numero di argomenti definiti in $ntop, puoi inserire un break in modo tale che il ciclo venga terminato, e non continui fino a quando non ha estratto tutti gli argomenti.

Si, hai ragione, anche se con 10 records da estrarre non ci sono grossi problemi, ma concettualmente è corretto quello che dici.
Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
 
Messaggi: 2466
Iscritto il: 07/01/2010, 9:51
Località: Udine
Versione: 3.0.10
MOD:
Server: UNIX/Linux
phpBB SEO: No
PHP: 5.2.9
Database: MySQL 5.0.77

Prossimo

Torna a Database MODs

SEO Search Tags

10 topics più visti phpbb      gli argomenti piu visitati      il topic piu visitati      mod topic più visti phpbb      phpbb cambiare descrizione a più argomenti      phpbb topic piu visti            topic più visitati      i topic piu'      argomenti topic

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

  • Pubblicità