phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

New topic che apre un altra pagina?

Supporto per phpBB 3.0.x.
Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: New topic che apre un altra pagina?

Messaggio da Micogian » 09/12/2010, 16:58

Ma se prima dici che hai provato e non funziona e poi mi vieni adire che non trovi una parte di codice io cosa penso?
Che tu non abbia fatto l'inserimento, visto che non trovavi il codice, ti pare?

Ora funziona ?

Avatar utente
gennyna
Utente
Utente
Messaggi: 1017
Iscritto il: 11/07/2009, 18:31
Versione: 3.0.10
Server: UNIX/Linux
Contatta:

Re: New topic che apre un altra pagina?

Messaggio da gennyna » 09/12/2010, 23:30

si funziona benissimo :) (avrò sbagliato a fare il copia e incolla ) :)

Avatar utente
Haku
Utente
Utente
Messaggi: 2529
Iscritto il: 22/09/2009, 22:36
Sesso: Maschio
Versione: 3.0.9
Server: UNIX/Linux
Contatta:

Re: New topic che apre un altra pagina?

Messaggio da Haku » 12/12/2010, 2:39

Carlo ha scritto:Solo quella modifica. A che serve modificare altro se puoi direttamente mettere mani sullo stile, senza andar a modificare altro?
Errore mio...io ho apportato le modifiche anche per avere bottoni diversi in alcune categorie,e ho fatto le cose per bene inserendo tutto nello style etc :) e funziona benissimo :)

Avatar utente
gennyna
Utente
Utente
Messaggi: 1017
Iscritto il: 11/07/2009, 18:31
Versione: 3.0.10
Server: UNIX/Linux
Contatta:

Re: New topic che apre un altra pagina?

Messaggio da gennyna » 16/02/2011, 8:54

bingo ha scritto:La notte porta consiglio, risolto :mrgreen:

devi fare così:

1) creare un file functions_personali.php da mettere nella cartella includes.
E' un file che può servire per altre funzioni, contiene functions personalizzate.
Ci metti dentro questo:

Codice: Seleziona tutto

<?php
// function special_forum - stabilisce una serie di Forum da trattare diversamente
// Lista dei Forums speciali: iniziare e terminare con una virgola, niente spazi. 
function special_forum($forum_id)
{
   $spec_forums = ",,1,6,7,53," ;

   if(strpos($spec_forums, "," . $forum_id . ",") == 0)
   {
   return 0 ;
   }else{
   return 1 ;
   }
}
?>
Nella riga $spec_forums devi elencare tutti i Forum_id interessati dalla function.
Attenzione alle virgole: la lista deve cominciare con due virgole, i forum_id vanno separati da una virgola, non ci devono essere spazi tra i forum_id e la lista deve terminare con una virgola.
Il motivo è semplice: la function si basa sul comando php strpos() che controlla la posizione di una stringa in un testo.
Ne deriva che se volessimo controllare la presenza della stringa 25 avremmo una risposta positiva anche nel caso fossero presenti forum_id 125, 225, 250, ecc.
Se invece cerchiamo la presenza della stringa ,25, siamo sicuri che la ricerca riguarda quella specifica stringa.
Se la stringa che corrisponde al forum_id corrente è presente nella Lista "spec_forums" la function restituisce '1', se non c'è restituisce '0'.
La doppia virgola iniziale serve ad evitare che venga restituito '0' qualora il forum_id fosse il primo.
strpos() restituisce la posizione della stringa cercata in un testo, ma se la stringa è all'inizio la posizione sarà '0', quindi lo stesso risultato se non fosse presente, ecco la necessità di inserire due virgole iniziali per evitare questo.)

2) adesso andiamo a inserire la function nel file viewforum.php
Trova la riga

Codice: Seleziona tutto

include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
e aggiungi la riga seguente:

Codice: Seleziona tutto

include($phpbb_root_path . 'includes/functions_personali.' . $phpEx);
In questo modo tutte le function personalizzate sono utilizzabili dal file php.

3) adesso inseriamo la variabile FORUM_SPEC.
Sempre nel file viewforum.php trova la parte di codice seguente:

Codice: Seleziona tutto

$template->assign_vars(array(
	'MODERATORS'	=> (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
aggiungi la segunete riga:

Codice: Seleziona tutto

'FORUM_SPEC'	=> special_forum($forum_id),
Adesso abbiamo una variabile {FORUM_SPEC} che può essere '0' o '1' a seconda che il forum corrente faccia parte della Lista "special" o meno e la sfruttiamo nel Template.

3) Template viewforum_body.html
La seguente riga

Codice: Seleziona tutto

   <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
      <div class="buttons">
         <div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->"><a href="{U_POST_NEW_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF --></a></div>
      </div>
   <!-- ENDIF -->
Va sostituita con

Codice: Seleziona tutto

   <!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
      <div class="buttons">
         <div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->"><a href="<!-- IF FORUM_SPEC == 1 -->http://www.tuosito.it/pagina.php<!-- ELSE -->{U_POST_NEW_TOPIC}<!-- ENDIF -->" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF --></a></div>
      </div>
   <!-- ENDIF -->
In questo modo, se il valore di FORUM_SPEC è uguale a '1' viene aperta la pagina personalizzata, altrimenti quella standard.

Attenzione che nel file viewforum_body.html il pulsante "Nuovo Argomento" è presente in due parti, all'inizio e alla fine, quindi se vogliamo mantenere la possibilità di aprire la pagina normalmente potremmo lasciare uno dei due links allo stato attuale, altrimenti la modifica va fatta in entrambi i links.

Questo è tutto, sembra complicato ma alla fine si tratta di poco codice da aggiungere e di creare una Lista dei Forums "speciali" che, a questo punto, potrebbero anche essere in Categorie diverse.
Riapro questo 3d dopo un pò di tempo.
Ho creato altre pagine che vorrei venissero aperte in forum diversi tipo:

www.prova1.it - New topic del Forum Id 4
www.provq2.it - New topic del forum id 56
www.xxxx.com -New topic del forum id 548

Rispondi

Torna a “[3.0.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 64 ospiti