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
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Creare una pagina personalizzata

Messaggio da Carlo » 21/09/2010, 18:41

Allora saremo cechi noi! E questi che sono? :)

Codice: Seleziona tutto

    <?php
Vedo spazi vuoti prima di ogni riga.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
lenders
phpBB Expert
phpBB Expert
Messaggi: 713
Iscritto il: 22/06/2010, 14:28
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
Database: MySQL(i) 5.1.49-community-log
Località: Napoli
Contatta:

Re: Creare una pagina personalizzata

Messaggio da lenders » 21/09/2010, 18:54

Si,infatti ho modificato tutto,adesso funziona bene.

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 » 21/09/2010, 18:58

Questo succede quando si clicca su "Seleziona tutto" in un box "code", vengono copiati anche degli spazi iniziali su tutte le righe.
Nelle altre righe gli spazi possono starci, nella riga iniziale di php no.

darklay
Utente
Utente
Messaggi: 28
Iscritto il: 31/10/2010, 3:19
Versione: 3.0.7-PL1
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da darklay » 01/11/2010, 17:43

Ok ho provato e funziona :)

però a me servirebbe che la pagina personalizzata sia una pagina php

Quindi ho provato ad inserire i richiami al template

Codice: Seleziona tutto

  <div>  page_header('prova');

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

    make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
    page_footer();
    </div>
dentro la mia pag php, ma non va :(

come si fa in questo caso?

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Creare una pagina personalizzata

Messaggio da Carlo » 01/11/2010, 18:23

Ma una "pagina personalizzata" su phpBB, utilizza un file .php ed un template .html.

Quindi se devi inserire il codice PHP devi inserirlo nel file .php.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

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 » 01/11/2010, 20:25

Una pagina personalizzata si può fare senza template, ma a questo punto diventa una pagina php non phpbb.
Si può utilizzare il codice iniziale della Custom Page ed escludere quello che riguarda il Template

Codice: Seleziona tutto

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

    make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
    page_footer();
Otteniamo una pagina connessa al database con tutte le possibilità che ne derivano.

Ad esempio un codice come il seguente visualizza tutti i valori disponibili nella variabile $user->data

Codice: Seleziona tutto

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);

$user->setup('viewtopic');
echo "Variabili ricavabili dall'array '\$user->data'<br><br>";
$n = '1' ;
foreach($user->data As $key => $valore){
echo $n . " - " . $key . " = " . $valore . "<br>";
++$n ;
}
?>

darklay
Utente
Utente
Messaggi: 28
Iscritto il: 31/10/2010, 3:19
Versione: 3.0.7-PL1
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da darklay » 01/11/2010, 20:34

Quindi non è possibile inserire una normale pagina php dentro un template phpbb?

http://infinitythegame.cdritalia.org/in ... /prova.php

Qui ho fatto la prova con il tuo codice php, collegato col dice php al template prova.html

compare lo sfondo del forum

le scritte della pagina php

e sotto il template :(

come faccio a mettere le scritte dentro il template?

ossia dentro a

<p>
Qui il contenuto
</p>

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 » 01/11/2010, 22:07

Come avevo precisato il mio codice non ha nulla a che vedere con il template, è un codice php che prende i dati utilizzando il codice di connessione al database del Forum.
La prova è che c'è un risultato, anche se non c'è una formattazione di pagina. Quella si può creare come se fosse una qualunque pagina html.
Il phpbb è un'altra cosa, da un lato c'è un file php che si connette al database, lo interroga e fornisce dei dati sotto forma di variabili (maiuscole) che vengono passate al template che ha il compito di visualizzarle.

L'errore nel tuo file di prova è che hai mantenuto la riga di connessione al template, che avevo detto di togliere.
Il template non centra nulla con quel codice.

Se invece vuoi utilizzare un Template PHPBB devi creare le variabili nel file php e passarle al template, ad esempio crea un file prova.php di questo tipo:

Codice: Seleziona tutto

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('Pagina di prova');

$template->assign_vars(array(
	'USER_COR' 	=> $user->data['user_id'],
	'USERNAME_COR' 	=> $user->data['username'],
));

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

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Poi, nel template che si chiamerà prova_body.html al posto di "qui il contenuto" ci metti

Codice: Seleziona tutto

Benvenuto {USERNAME_COR}, il tuo user_id è {USER_COR}

darklay
Utente
Utente
Messaggi: 28
Iscritto il: 31/10/2010, 3:19
Versione: 3.0.7-PL1
Server: UNIX/Linux

Re: Creare una pagina personalizzata

Messaggio da darklay » 01/11/2010, 23:00

ok grazie :)

scusa ma di php già ne so poco poi di integrazione col template ancora meno :), ma cerco di imparare

ho fatto come dici, il template si visualizza correttamente ma non mi riportai dati delle varaibili {USERNAME_COR} e {USER_COR} ma soltanto la scritta : "Benvenuto , il tuo user_id è "

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 » 02/11/2010, 7:27

Scusa, ho sbagliato io, non $user_data ma $user->data, inserisci questo codice:

Codice: Seleziona tutto

$template->assign_vars(array(
       'USER_COR'    => $user->data['user_id'],
       'USERNAME_COR'    => $user->data['username'],
    ));
$user->data è un array che contiene molti dati relativi all'utente loggato.
La funzione $template->assign_vars() consente di creare delle varibili (sempre in MAIUSCOLO) che il template riconosce.

Bloccato

Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti