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

[WIKI] Creare una pagina personalizzata

Programmare su phpBB, creazione di pagine personalizzate ed utilizzo delle API di phpBB.
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: Creare una pagina personalizzata

Messaggio da Micogian » 22/02/2011, 6:33

Come puoi vedere in ogni file php all'inizio di ogni file viene definito dove si trova il phpbb:

Codice: Seleziona tutto

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
Questo signifca che la "root_path" del phpbb è "/", in pratica la cartella corrente, cioè "tuo_sito/forum".

Se il file php che vuoi utilizzare (home.php) lo metti nella root "tuo_sito" allora devi indicare qual'è il percorso di phpbb, che diventa:

Codice: Seleziona tutto

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
Questo è ben spiegato nella Guida "Custom Page".

robor65
Utente
Utente
Messaggi: 5
Iscritto il: 21/02/2011, 19:06
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da robor65 » 22/02/2011, 8:34

bingo ha scritto:Perchè la pagina visualizzata è quella della cache, non quella che tu modifichi.
Devi andare sul PCA --> STILI --> Termplate e selezionare il link "Aggiorna" in corrispondenza dello stile usato.

In alternativa puoi cancellare tutti i file della cartella cache, escluso .htaccess. I file si ricreano automaticamente aggiornati.

Grazie, e si che lo sapevo del refresh della cache degli stili :mrgreen:

robor65
Utente
Utente
Messaggi: 5
Iscritto il: 21/02/2011, 19:06
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da robor65 » 22/02/2011, 9:19

Ora funziona, mi resta però un problema.

Ho creato la pagina meteo.php come descritto.

Il file meteo_body.html è appunto un file html.

Io nella mia pagina personalizzata dovrei invece includere un file php che interroga un database e crea dei grafici in base all'input dell'utente.

ma se cambio:

Codice: Seleziona tutto

$template->set_filenames(array('body' => 'meteo_body.html',));
in

Codice: Seleziona tutto

$template->set_filenames(array('body' => 'meteo_body.php',));
non succede nulla, nenache facendo il refresh della cache.

Se aggiungo direttamente il codice php in meteo.php, il tutto mi viene scritto in alto, prima dell'header

meteo.php

Come posso risolvere?

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: Creare una pagina personalizzata

Messaggio da Micogian » 22/02/2011, 13:16

Tu puoi anche fare un file php esterno, poi lo devi includere in meteo.php, trasformare i dati estratti dal database in variabili phpbb e quindi il template le riconosce.

robor65
Utente
Utente
Messaggi: 5
Iscritto il: 21/02/2011, 19:06
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da robor65 » 22/02/2011, 14:04

Si, in effetti ci avevo pensato, ma non capivo come dichiarare le variabili da richiamare nel template, poi ho risolto così:

Codice: Seleziona tutto

$template->assign_vars(array(
    'PROVA'    => 'contenuto variabile',
));
ed ora funziona che è una meraviglia

Grazie

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: Creare una pagina personalizzata

Messaggio da Micogian » 22/02/2011, 20:49

Bravo, questo è il modo per assegnare variabili per il template, così puoi separare php da html.
Se invece devi creare un array il sistema è questo:

Codice: Seleziona tutto

$template->assign_block_vars('lista_var', array(
            'PROVA1'   	=> $prova1 ,
            'PROVA2'   	=> $prova2 ,
            'PROVA3'   	=> $prova3 ,
));
A questo punto nel template hai a disposizione un array che visualizzi in questo modo:

Codice: Seleziona tutto

<!-- BEGIN lista_var -->
<p>{lista_var.PROVA1}, {lista_var.PROVA2} {lista_var.PROVA3} </p>
<!-- END lista_var -->
In questo modo ottieni una Lista delle variabili PROVA1, PROVA2, PROVA3.

In pratica la funzione "BEGIN" assomiglia al "foreach" del php

robor65
Utente
Utente
Messaggi: 5
Iscritto il: 21/02/2011, 19:06
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da robor65 » 23/02/2011, 8:56

ottimo e perfetto

ti ringrazio

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: Creare una pagina personalizzata

Messaggio da Haku » 24/02/2011, 4:39

Quindi se volessi 'estrapolare' i dati di una MOD, posso usare questo procedimento e poi farlo visualizzare sul template?

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: Creare una pagina personalizzata

Messaggio da Micogian » 24/02/2011, 7:25

Haku ha scritto:Quindi se volessi 'estrapolare' i dati di una MOD, posso usare questo procedimento e poi farlo visualizzare sul template?
Il principio stesso di phpbb è proprio questo. Da un lato il file PHP, attraverso apposite query e functions, provvede a "estrarre" i dati dal database e ad elaborarli, creare una Lista di Variabili o un Array e passarlo al template che le interpreta e le visualizza.

Avatar utente
WorldComputing
Utente
Utente
Messaggi: 305
Iscritto il: 30/12/2009, 20:41
Versione: 3.0.10
Server: UNIX/Linux
Contatta:

Re: Creare una pagina personalizzata

Messaggio da WorldComputing » 03/03/2011, 22:22

Ciao mi occorre id pagina, nel caso di una pagina personalizzata come faccio ad avere l'id della pagina?
ed inoltre... a che serve la riga: <!-- INCLUDE jumpbox.html --> nel template?

Bloccato

Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 34 ospiti