[PHP] head dinamico, parliamone!

eleumas

Utente Attivo
16 Ago 2015
67
2
8
Ciao a tutti, stavo cercando il modo di creare un head dinamico.
In pratica avevo la necessità che ogni pagina avesse un head diverso, perchè magari cambia la meta description con il title e i link css per esempio.

Ho pensato così di fare un array e mettere all'interno di una variabile la porzione di html che mi occorre.

Premesso che sicuramente esiste un modo migliore per fare questa operazione, mi stavo domandando se il mio metodo era corretto. Insomma...all'interno della variabile c'è un intero diverso codice...questo può causare problemi?

Ringrazio anticipatamente chiunque vorrà dire la sua e suggerire metodi alternativi.
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
dove posso uso files (vedi css e js), dove non posso variabili (vedi titolo)
PHP:
<title><?php print $Title; ?></title>

<script type="text/javascript"> <?php require_once '../js/'.$js_script; ?> </script>
<script type="text/javascript"> <?php require_once '../js/'.$SPWcolor; ?> </script>
 

eleumas

Utente Attivo
16 Ago 2015
67
2
8
Perdonami ma ho bisogno di un chiarimento. Per i js per esempio metti tutti i link sotto una variabile? Come fai?

Grazie.
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
PHP:
in questo esempio, dal main,

richiamo la funzione da eseguire
    require_once "func_".$func_list[$SPWchoice].".php";

la eseguo
    call_user_func($func_list[$SPWchoice]);

riprendo il js necessario
    $js_script = $js_list[$SPWchoice];

richiamo lo script necessario che completa l''operazione
    if ($js_list[$SPWchoice] == 'T')    require_once "../forms/table.php";
    else                require_once "../forms/graph.php";
in table.php e graph.php ci sono le variabili
con 2 forms, visualizzo tabelle e grafici di contenuti e formati diversi
sufficiente ?

ps, il metodo è proprietà intellettuale di @criric (post di un'era passata), sviluppato per mio uso

ps, ps, una pagina può essere inclusa (require...) non necessariamente deve esserci reindirizzamento
 
Ultima modifica:

eleumas

Utente Attivo
16 Ago 2015
67
2
8
Grazie mille per la spiegazione anche se in tutta onestà non ho capito proprio tutto. Soprattutto pensavo che con il require once inserissi i link dei js mentre mi sa che fai tutt'altro
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
i link ai js sono in una tabella ( $js_list[$SPWchoice] ) ma anche a funzioni che preparano i dati da visualizzare ( $func_list[$SPWchoice] )
con require vengono "importate" le pagine di codice necessarie, senza reindirizzamento
quindi senza necessità di passare valori tra script, semplificando la gestione

con parole più semplici, il "main" carica le parti di codice che gli sono necessarie, formando un insieme funzionale finito

ps nel titolo hai parlato di head dinamico, io aggiungo anche script php dinamici che si assemblano in base alle richieste dell'utente
 
Ultima modifica:

eleumas

Utente Attivo
16 Ago 2015
67
2
8
Aaaaah ok! In pratica importi lo script finito non il link dello script. Ho capito bene?
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
nel php importo le parti necessarie (script),
nell'head passo i nomi per caricare i js, css, favicon (link) necessari, i "meta" ed il titolo (variabili)
 

eleumas

Utente Attivo
16 Ago 2015
67
2
8
Io se ho più pagine e per ognuna voglio mettere una title e una desciption diversa creo un array. È giusto secondo te? Cosa ne pensi del mio metodo illustrato anche a inizio conversazione?
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
ho più pagine e per ognuna voglio mettere una title e una desciption diversa creo un array
si è quello che ho fatto io, aggiungendo anche i link a js e css
di una variabile la porzione di html che mi occorre
se porzione di html intendi il codice js e/o css e/o altro codice
non sono d'accordo, meglio gestire i soli link in modo da avere il codice in file specifici a cui accedere facilmente
 

eleumas

Utente Attivo
16 Ago 2015
67
2
8
Ok, ma in questo modo quando devi modificare per esempio un meta tag lo devi fare tante volte per quante pagine hai...o sbaglio qualcosa io nella logica? Esiste un modo per farlo una sola volta per tutte le pagine?

Per essere più chiaro ti riporto un breve esempio di come ho fatto io:

PHP:
$pagine => array(
  
$home => array(
   $head => 'meta tag qui'
    $footer => 'link qui'
)

$azienda => array(
   $head => 'meta tag qui'
    $footer => 'link qui'
)

$servizi => array(
   $head => 'meta tag qui'
    $footer => 'link qui'
)

)
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
quando devi modificare per esempio un meta tag lo devi fare tante volte per quante pagine hai
no,
nei miei progetti cerco di avere un'unica pagina, al massimo un paio, che sono dei "frame" dove inserire tutte le componenti in modo parametrico,
i parametri sono raggruppati in script php che vengono inclusi, in modo da modificare il meno possibile e "riusare" quanto più possibile
in questo modo viene ridotto il tempo di sviluppo, seppur la definizione del "frame" richiede un'analisi approfondita

nel tuo esempio, sei "ancorato" alla pagina, mi sembra di capire

il mio punto di vista sono i contenuti
PHP:
$meta => array(
   $home    => 'meta tag qui'
   $azienda => 'meta tag qui'
   $servizi => 'meta tag qui'
)
$css => array(
   $home    => 'link qui'
   $azienda => 'link quii'
   $servizi => 'link qui'
)
$js => array(
   $home    => 'link qui'
   $azienda => 'link quii'
   $servizi => 'link qui'
)
$bodyframe1 => array(
   $home    => 'codice qui'
   $azienda => 'codice qui'
   $servizi => 'codice qui'
)
$bodyframe2 => array(
   $home    => 'codice qui'
   $azienda => 'codice qui'
   $servizi => 'codice qui'
)
....
$footer => array(
   $home    => 'link qui'
   $azienda => 'link qui'
   $servizi => 'link qui'
)
in questo modo, passando una variabile $pagina='azienda' viene composta la pagina
(pensa al tempo risparmiato se devi aggiungere una pagina)

ps, 'codice qui' può essere il link ad uno script che contiene html o php o .... da includere

spero di aver capito .....
 
Ultima modifica:

eleumas

Utente Attivo
16 Ago 2015
67
2
8
E' molto interessante anche "la tua visione". Assolutamente da valutare! Proprio riguardo alla dicitura "codice qui" come posso linkare del codice html li dentro? Non vorrei mettere codice html esteso ma una sorta di include. E' fattibile?
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
E' fattibile?
Si,
PHP:
<div id="content">
    <div id="content-1">
        <?php print $Form1; ?>
    </div>
    <div id="content-2">
        <?php print $Form2; ?>
    </div>
    <div id="content-3">
        <?php print $Form3; ?>
    </div>
    <div id="content-4">
        <?php print $Form4; ?>
    </div>

in ogni caso usando "include" o simili, nelle forme,

$formX="
<html code>
";

oppure

uno script php che genera il codice html

insomma cose alla fine banali .... ma ben organizzate
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0

Discussioni simili