Pagina 1 di 1
Generazione dei titoli delle pagine con PHP
Inviato: mer 28 set 2011, 16:40
da samiel
Per fare un'assegnazione "dinamica" dei titoli delle pagine con PHP
ho un codice come questo:
Codice: Seleziona tutto
<?php
/* valori di default per le pagine non personaizzate:
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$titles=array(
"home"=>"Venezia-Mestre",
"chisiamo"=>"Chi siamo",
"attivita"=>"Attività in corso",
"concluse" =>"Attività concluse",
"inprogramma" =>"Attività in programma",
"laboratorio"=>"Laboratorio di scrittura creativa",
"lavori"=>"I lavori dei corsisti",
"amici"=>"I nostri amici",
"contatti"=>"Contatti",
"dovesiamo"=>"Dove siamo",
"scrivici"=>"Scrivici"
);
$separatore="— ";
if(isset($_REQUEST["pagina"]))
$title=$titles[$pagina]["{$_REQUEST["pagina"]}"];
echo "<title>Circolo Culturale $separatore$titles[$pagina]</title>\n";
?>
Ma se volessi modificare diciamo solo il titolo della home
mettendo "Ciao Pippo"? CHe condizione dovrei aggiungere?
Ho visto che c'è una libreria che fra l'altro fa questa operazione:
http://code.google.com/p/new-framework/ ... e_della_pa
La conoscete? Vale la pena di utilizzarla o c'è una soluzione
più immediata gestendo melgio un if - else ?
Grazie
M.
Re: Generazione dei titoli delle pagine con PHP
Inviato: gio 29 set 2011, 10:09
da Paoletta
se ho capito bene, il modo piu' rapido per identificare se ti e' stata richiesta la home e' guardare se $_GET["pagina"] e' settato; in questo caso farei un if then basato su questa cosa;
Re: Generazione dei titoli delle pagine con PHP
Inviato: gio 29 set 2011, 10:48
da lablinux
Hai provato a testare la pagina in cui sei con
Re: Generazione dei titoli delle pagine con PHP
Inviato: gio 29 set 2011, 11:28
da targzeta
Non so come sono strutturate le tue pagine. Nel mio caso tutti gli script includono un file comune per il template. Partendo da questa ipotesi ho strutturato il sito in sottodirectory, una per ogni componente del menù. Il titolo viene settato dallo script del template che guarda la directory madre dello script, così ad esempio il file:
di default prende come titolo 'Home'. Però se ho delle esigenze particolari, e praticamente tutte le pagine hanno un titolo diverso, setto la variabile $titolo prima di caricare il template. In pratica nel template c'è qualcosa del genere:
Codice: Seleziona tutto
if ( isset($titolo) )
il titolo è $titolo;
else
il titolo è la directory di $_SERVER['SCRIPT_NAME']
Emanuele
Re: Generazione dei titoli delle pagine con PHP
Inviato: gio 29 set 2011, 11:33
da lablinux
spina ha scritto:Codice: Seleziona tutto
if ( isset($titolo) )
il titolo è $titolo;
else
il titolo è la directory di $_SERVER['SCRIPT_NAME']
directory + nome script.
Re: Generazione dei titoli delle pagine con PHP
Inviato: gio 29 set 2011, 12:10
da ilmich
Se:
- è lo stesso sito del tuo post di un po' di tempo fa sui menu a tendina

- il tuo sito usa quello che in gergo si chiama front controller (unico script che riceve le richieste e tramite un parametro nella url(in questo caso chiamato pagina) crea i contenuti)
- la home la distingui dall'assenza del parametro pagina (o al piu il parametro pagina deve avere come valore 'home')
come suggeriva @Paoletta:
Codice: Seleziona tutto
if(isset($_REQUEST["pagina"]))
$title=$titles[$pagina]["{$_REQUEST["pagina"]}"];
else { //non è settato quindi sono nella home
$title= {qui ci metti il titolo che vuoi nella home)
}
Re: Generazione dei titoli delle pagine con PHP
Inviato: gio 29 set 2011, 22:53
da samiel
Però qui c'è un marchiano errore perché
Codice: Seleziona tutto
isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
$titles=array(
"home"=>"",
"chisiamo"=>"Chi siamo",
"attivita"=>"Attività in corso",
"concluse" =>"Attività concluse",
"inprogramma" =>"Attività in programma",
"laboratorio"=>"Laboratorio di scrittura creativa",
"lavori"=>"I lavori dei corsisti",
"amici"=>"I nostri amici",
"contatti"=>"Contatti",
"dovesiamo"=>"Dove siamo",
"scrivici"=>"Scrivici"
);
$separatore="—";
if(isset($_REQUEST["pagina"]))
$title=$titles[$pagina]["{$_REQUEST["pagina"]}"];
else
$title="ciao mondo";
echo "<title>$title</title>\n";
mi mette solo laprima lettera

del nome della pagina
che non sia la home...
Re: Generazione dei titoli delle pagine con PHP
Inviato: ven 30 set 2011, 7:46
da aschenaz
$title=$titles[$pagina]["{$_REQUEST["pagina"]}"];
Non basta
$titles[$pagina] ?
Re: Generazione dei titoli delle pagine con PHP
Inviato: ven 30 set 2011, 19:09
da samiel
Sì lì basta, così:
Codice: Seleziona tutto
if(isset($_REQUEST["pagina"]))
$title = $titles[$pagina];
else
$title="ciao mondo";
echo "<title>$title</title>\n";
Sembra tutto a posto, adesso vedo
le altre idee
Grazie
M.
Re: Generazione dei titoli delle pagine con PHP
Inviato: mar 22 nov 2011, 10:45
da portapipe
Questo framework fa esattamente al caso tuo.
L'hanno pure aggiornato recentemente.
Basta fare:
Codice: Seleziona tutto
<title><?php echo $Nurl->title("Benvenuti,,index.php,,Homepage,,contatti.php,,Contatti"); ?></title>
dove all'interno metti come primo parametro la frase standard e dal secondo in poi la coppia 'pagina,,valore'.
Accetta anche array, nel caso volessi usare quelli. Si riferisce al nome della pagina originale (senza htaccess e valori get in mezzo per intenderci).
Se hai risolto dai un occhio alle altre funzioni. Ce ne sono alcune molto interessanti.