Pagina 1 di 2

Problema Topten Topics

Inviato: 02/10/2012, 21:24
da Miticuz007
Ciao a tutti! avrei un problema di visualizzazione con la suddetta MOD (Topten Topics). In pratica i titoli dei vari topic/post vengono ad occupare non un rigo singolo ma bensì 2 a discapito della grafica. :cry: Qualcuno sa come posso risolvere la situazione per far si che ogni titolo o parte di esso occupi solo una riga? Quali modifiche dovrei apportare? Vi ringrazio anticipatamente della disponibilità ad aiutarmi...
Il mio forum è: http://medforum.altervista.org/forum/

Re: Problema Topten Topics

Inviato: 02/10/2012, 22:51
da Micogian
Se i nomi degli utenti sono così lunghi c'è poco da fare.
Puoi fare una o più cose insieme di queste:
- allargare il forum.
- accorciare il titolo
- togliere data e numero delle visite, non sono determinanti
- togliere il "di" dell'utente e anche la parentesi.
- accorciare il nome dell'utente
- togliere una delle liste e lasciarne solo due
- escludere il nome dell'utente.

Re: Problema Topten Topics

Inviato: 03/10/2012, 19:34
da Miticuz007
Micogian inizio ringraziandoti... sempre disponibilissimo :D
Premettendo che il forum, causa header, vorrei mantenerlo di quelle dimensioni... mi sapresti dire dove devo agire per:
- accorciare il titolo
- togliere data e numero delle visite
- togliere il "di" dell'utente e anche la parentesi
- escludere il nome dell'utente
in modo tale da fare qualche prova e mantenere la modifica che mi convince di più graficamente?

Re: Problema Topten Topics

Inviato: 03/10/2012, 20:26
da Micogian
Per il titolo devi agire sul file php, per il resto è tutto nel template.

Il titolo viene accorciato da questa parte di codice del file mod_topten_topics.php:

Codice: Seleziona tutto

				if (strlen($row1['topic_title']) > 28)
				{
				$topic_title1 = substr($row1['topic_title'],0,27) . "...";
				}else{
				$topic_title1 = $row1['topic_title'];
				}
Se il titolo è più lungo di 28 caratteri viene presa la parte che comincia da 0 e termina al punto 27, vengono poi aggiunti i puntini. Se il titolo è più corto rimane invariato.
Puoi ridurre il limite ma puoi anche limitare il risultato. Considerando i punti finali il risultato è 28+3.
Questa modifica porterebbe il limite a 25 compresi i punti (22+3) :

Codice: Seleziona tutto

				if (strlen($row1['topic_title']) > 25)
				{
				$topic_title1 = substr($row1['topic_title'],0,21) . "...";
				}else{
				$topic_title1 = $row1['topic_title'];
				}
Le altre modifiche riguardano il file mod_topten_topics.html, in particolare la parte <BEGIN>
<!-- BEGIN topics_last -->
&nbsp;&nbsp;{topics_last.LAST_DATA}<a href="{topics_last.LAST_LINK}" title="{topics_last.LAST_TITLE}">&nbsp;&nbsp;<b>{topics_last.LAST_TITLE}</b></a> (di {topics_last.LAST_AUTHOR})<br>
<!-- END topics_last -->
</td>
<td width="32%">
<!-- BEGIN topics_view -->
&nbsp;&nbsp;{topics_view.VIEW_VIEWS}<a href="{topics_view.VIEW_LINK}" title="{topics_view.VIEW_TITLE}">&nbsp;&nbsp;<b>{topics_view.VIEW_TITLE}</b></a> (di {topics_view.VIEW_AUTHOR})<br />
<!-- END topics_view -->
</td>
<td>
<!-- BEGIN last_posts -->
&nbsp;&nbsp;<a href="{last_posts.POST_LINK}" title="{last_posts.FORUM_NAME}"><b>{last_posts.POST_TITLE}</b></a> (di {last_posts.POST_AUTHOR})<br />
<!-- END last_posts -->
{topics_last.LAST_DATA} è la data e potrebbe essere tolta, tanto gli ultimi topics sono degli ultimi giorni.
L'autore è richiamato da (di {topics_last.LAST_AUTHOR}) togliere parentesi e stringa "di" mi sembra semplice.
Attenzione alle parentesi che si tolgono, quelle tonde, non le graffe della variabile.
Se non basta si toglie la variabile dell'autore {topics_last.LAST_AUTHOR}
Idem per le altre colonne.

Re: Problema Topten Topics

Inviato: 03/10/2012, 21:49
da Miticuz007
Grazie infinite Micogian ;)
alla fine per sistemare il tutto è stato sufficente togliere il di e le parentesi dal nome degli utenti e accordicare il titolo a 25... ecco il risultato: http://medforum.altervista.org/forum/in ... 4bf9a8f8df che te ne pare? qualche consiglio? :D
Grazie ancora...

Re: Problema Topten Topics

Inviato: 03/10/2012, 23:35
da Micogian
La data può diventare un problema quando il topic è recente, ad esempi "5 minuti fa".
Io nei miei Forum ho inserito una data personalizzata (giorno e mese)
http://www.actafungorum.org/actaforum/index.php
inoltre c'è un piccola variazione (che mi sembrava di aver reso pubblica) che per i Topics più visti c'è la possibilità di selezionare il periodo.

Re: Problema Topten Topics

Inviato: 13/11/2012, 15:39
da Miticuz007
Micogian ha scritto:La data può diventare un problema quando il topic è recente, ad esempi "5 minuti fa".
Io nei miei Forum ho inserito una data personalizzata (giorno e mese)
http://www.actafungorum.org/actaforum/index.php
Micogian, scusa se mi faccio vivo dopo molto tempo ma sono stato parecchio impegnato nell'ultimo mese...
sperando di non abusare della dua pazienza e disponibilità, volevo chiederti un ultimo (spero) aiuto:
come faccio a sostituire i '5 minuti fa e co' presenti per i post reconti con una più semplice data (numero giorno + mese) come hai fatto nel tuo forum?
Ti ringrazio ancora della disponibilità :-)

Re: Problema Topten Topics

Inviato: 13/11/2012, 15:53
da Micogian
Bisogna usare una function, in questo caso ho creato la function mod_data()..
Questa è la parte che uso io per gli "Ultimi 10 Topics."

Codice: Seleziona tutto

<?php
// MOD Topten Topics : Topics più recenti, Topics più visti e Posts più recenti 
// created by Micogian (Bingo)
if (!defined('IN_PHPBB'))
{
   exit;
}
// configurazione: numero dei recods da visualizzare nella Lista
$list_rec = 20 ;   // numero di records da estrarre dalla tabella (alcuni topics potrebbero non aver il permesso di lettura)
$list_view = 10 ;  // sostituire il numero della variabile $lista se si desidera diminuire/aumentare il numero dei Topics 
function mod_data($data_cor)
{
$data_cor = str_replace("Jan","gen", $data_cor);
$data_cor = str_replace("Feb","feb", $data_cor);
$data_cor = str_replace("Mar","mar", $data_cor);
$data_cor = str_replace("Apr","apr", $data_cor);
$data_cor = str_replace("May","mag", $data_cor);
$data_cor = str_replace("Jun","giu", $data_cor);
$data_cor = str_replace("Jul","lug", $data_cor);
$data_cor = str_replace("Aug","ago", $data_cor);
$data_cor = str_replace("Sep","set", $data_cor);
$data_cor = str_replace("Oct","ott", $data_cor);
$data_cor = str_replace("Nov","nov", $data_cor);
$data_cor = str_replace('Dec','dic', $data_cor);
return $data_cor;
}
//---------- 10 Topics più Recenti start -----------//
$sql1 = "SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_time, tt.topic_moved_id, tt.topic_first_poster_name,
    ft.forum_id, ft.forum_name
    FROM " . TOPICS_TABLE . " tt, " . FORUMS_TABLE . " ft 
    WHERE tt.topic_type = 0
    AND tt.topic_moved_id = 0
    AND tt.forum_id = ft.forum_id
    ORDER BY tt.topic_time DESC LIMIT 0,$list_rec";
$result1 = $db->sql_query($sql1);
    $n1 = 0;
    while ($row1 = $db->sql_fetchrow($result1))
    {
       	if ($auth->acl_get('f_read', $row1['forum_id']) == 1) 
        {
            if ($n1 < $list_view)
			{
				if (strlen($row1['topic_title']) > 28)
				{
				$topic_title1 = substr($row1['topic_title'],0,27) . "...";
				}else{
				$topic_title1 = $row1['topic_title'];
				}
			$last_topic_link[$n1]   		= append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row1['forum_id'] . "&t=" . $row1['topic_id']);
            $last_topic_title[$n1]  		= $row1['topic_title'];
			$last_topic_title_short[$n1]  	= $topic_title1;
			$last_topic_forum[$n1]  		= $row1['forum_name'];
            $last_topic_author[$n1] 		= $row1['topic_first_poster_name'];
			$last_topic_data[$n1]   		= date("d M",$row1['topic_time']);
			$last_topic_data[$n1]   		= mod_data($last_topic_data[$n1]);
            //$last_topic_data[$n1]   		= $user->format_date($row1['topic_time'], "|d M|");
			++$n1 ;          	
            }else{
			break ;
			}
        }
    }
//---------- 10 Topics più Recenti end -----------//
// Il resto dellla mod .......
?>
Attenzione poi che le variabili abbiano lo stesso nome, questa è una Mod personalizzata, potrebbero cambiare i nomi delle variabili rispetto alla Mod rilasciata.

Re: Problema Topten Topics

Inviato: 16/11/2012, 12:51
da Miticuz007
Grazie Micogian per la celere risposta... sei sempre gentilissimo :D
so che mi odierai per quello che ti per chiedere... non è che potresti spiegarmi più concretamente come effettuare la modifica? purtroppo sono solo agli inizi e di programmazione e linguaggi in generale ne so ancora poco/nulla :(

Re: Problema Topten Topics

Inviato: 16/11/2012, 13:13
da Micogian
La Mod è suddivisa in tre parti, questa è pari-pari tutta la prima parte della Mod, quella che riguarda gli "ultimi topics", quindi prendi la parte vecchia e sostituisci con questa. Mi sembra abbastanza semplice, anche perchè la parte che devi sostituire termina con la riga
//---------- 10 Topics più Recenti end -----------//
Tutto il resto non cambia perchè le date nelle altre liste non ci sono.
L'attenzione riguardava il fatto che alla fine della Mod si creano le variabili per il template e qui bisogna controllare che le variabili che ho usato io nella mia Mod siano le stesse della tua.

Ovviamente prima fai una copia del vecchio file php, poi fai le modifiche e se qualcosa va storto rimetti il file salvato.
Sono regole elementari che però pochi seguono.