Per un sito web con più pagine conviene sempre avere un css globale (dove si dichiarano le classi che valgono per tutto il sito) e uno relativo ad ogni pagina.
Per fare questo però sarebbe necessario cambiare ogni volta l’header o comunque includere ogni volta manualmente il link del css giusto.
Con questo script è possibile risolvere dinamicamente il nostro problema.
Lo script non fa altro che prendere il nome della pagina dall’array $_SERVER e conservarlo su una variabile.
1 2 3 | <?php $file_name = basename($_SERVER['SCRIPT_NAME'], '.php'); ?> |
in questo modo basta semplicemente scrivere nel nostro header un codice simile
1 2 | <link href="globals.css" rel="stylesheet" type="text/css" media="all" /> <link href="<?=$file_name?>" rel="stylesheet" type="text/css" media="all" /> |
NOTA
1 | <?=$file_name?> |
è l’equivalente in forma contratta di
1 | <?php print $file_name; ?> |
Se invece utilizzate Smarty, basta creare una funzione di questo tipo:
1 2 3 4 5 | <?php // basename prende un percorso e ne estrapola il nome file togliendo il postfisso php $file_name = basename($_SERVER['SCRIPT_NAME'], '.php'); $smarty->assign('file_name', $file_name); ?> |
ed utilizzare la vostra variabile smarty sull’header
1 2 | <link href="globals.css" rel="stylesheet" type="text/css" media="all" /> <link href="{$file_name}" rel="stylesheet" type="text/css" media="all" /> |
Dichiarando il css specifico della pagina dopo quello globale farà in modo che, se dovrete cambiare i parametri di una classe globale per una determinata pagina, possiate farlo facilmente.





Leave a Comment