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
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?
- gennyna
- 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?
dunque cosa impossibile?
- Micogian
- 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?
"impossibile" è un termine che non esiste con php, solo che ci vuole una soluzione diversa, un pochino più complessa e forse è meno complicato inserire tutti i FORUM_ID.
Altrimenti bisogna lavorare all'origine, nel php, non nel template.
Soluzioni ce ne sono tante, bisogna trovarne una non troppo complessa. Un'idea ce l'ho ma devo vedere alcune cose, ma senza fretta.
Altrimenti bisogna lavorare all'origine, nel php, non nel template.
Soluzioni ce ne sono tante, bisogna trovarne una non troppo complessa. Un'idea ce l'ho ma devo vedere alcune cose, ma senza fretta.
- gennyna
- 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?
vabene capo 

- Micogian
- 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?
La notte porta consiglio, risolto
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:
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
e aggiungi la riga seguente:
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:
aggiungi la segunete riga:
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
Va sostituita con
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.

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 ;
}
}
?>
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);
Codice: Seleziona tutto
include($phpbb_root_path . 'includes/functions_personali.' . $phpEx);
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]) : '',
Codice: Seleziona tutto
'FORUM_SPEC' => special_forum($forum_id),
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 -->
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 -->
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.
- gennyna
- 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?
Provo Subito...!!
- gennyna
- 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?
facendo quelle modifiche, appena apro un forum mi dice:
Ho ripristinato i file originali e funge..
Codice: Seleziona tutto
Errore del server.
Si è verificato un errore nel sito web durante il recupero di http://www.clonedb.tk/nforum/viewforum.php?f=26. Potrebbe non essere disponibile per manutenzione o essere configurato in modo errato.
Ecco qualche suggerimento:
Carica di nuovo questa pagina web in un secondo momento.
Ho ripristinato i file originali e funge..
- Micogian
- 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?
Guarda, ho provato in locale e funziona.
A meno che nel copiare il codice abbia fatto qualche errore di punteggiatura ti garantisco che va.
Considerando inosltre che il valore di {FORUM_SPEC} può essere '0' (false) o '1' (true) al posto di
basterebbe
PS: mi sono accorto ora: c'è un "endif" minuscolo
Ma queste cose dovreste conoscerle ormai.
A meno che nel copiare il codice abbia fatto qualche errore di punteggiatura ti garantisco che va.
Considerando inosltre che il valore di {FORUM_SPEC} può essere '0' (false) o '1' (true) al posto di
Codice: Seleziona tutto
<!-- IF FORUM_SPEC == 1 -->
Codice: Seleziona tutto
<!-- IF FORUM_SPEC -->
PS: mi sono accorto ora: c'è un "endif" minuscolo
Codice: Seleziona tutto
<!-- endif -->
- gennyna
- 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?
spetta forse non funziona perchè nel mio file php non trovo il codice:
Codice: Seleziona tutto
$template->assign_vars(array(
'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
- Micogian
- 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?
Può darsi che l'ordine delle variabili non sia lo stesso, in pratica è l'elenco delle variabili:
La variabile
puoi metterla dove vuoi, non ha importanza, basta che sia tra queste.
Ma se non metti la variabile non puoi pretendere che poi funzioni.
Non facciamo le modifiche a metà, per favore.
Codice: Seleziona tutto
$template->assign_vars(array(
'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
'POST_IMG' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->img('button_topic_locked', $post_alt) : $user->img('button_topic_new', $post_alt),
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'FOLDER_IMG' => $user->img('topic_read', 'NO_UNREAD_POSTS'),
'FOLDER_UNREAD_IMG' => $user->img('topic_unread', 'UNREAD_POSTS'),
'FOLDER_HOT_IMG' => $user->img('topic_read_hot', 'NO_UNREAD_POSTS_HOT'),
'FOLDER_HOT_UNREAD_IMG' => $user->img('topic_unread_hot', 'UNREAD_POSTS_HOT'),
'FOLDER_LOCKED_IMG' => $user->img('topic_read_locked', 'NO_UNREAD_POSTS_LOCKED'),
'FOLDER_LOCKED_UNREAD_IMG' => $user->img('topic_unread_locked', 'UNREAD_POSTS_LOCKED'),
'FOLDER_STICKY_IMG' => $user->img('sticky_read', 'POST_STICKY'),
'FOLDER_STICKY_UNREAD_IMG' => $user->img('sticky_unread', 'POST_STICKY'),
'FOLDER_ANNOUNCE_IMG' => $user->img('announce_read', 'POST_ANNOUNCEMENT'),
'FOLDER_ANNOUNCE_UNREAD_IMG'=> $user->img('announce_unread', 'POST_ANNOUNCEMENT'),
'FOLDER_MOVED_IMG' => $user->img('topic_moved', 'TOPIC_MOVED'),
'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'),
'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPIC_UNAPPROVED'),
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
Codice: Seleziona tutto
'FORUM_SPEC' => special_forum($forum_id),
Ma se non metti la variabile non puoi pretendere che poi funzioni.
Non facciamo le modifiche a metà, per favore.
- gennyna
- 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?
mica sono così scemo dai aahahhahah, lo so che i file vanno modificati tutti 
Era quel endif Piccolo. Aggiorna il post così che se serve a qualcuno posso farlo anche loro

Era quel endif Piccolo. Aggiorna il post così che se serve a qualcuno posso farlo anche loro
Chi c’è in linea
Visitano il forum: Nessuno e 46 ospiti