[ m.stojanov @ 29.05.2010. 19:20 ] @
Imam jedno pitanje koje se ne moze eksplicitno odrediti za neki forum, pa sam odlucio da ga postavim u PHP forumu. Naime, kad radim neki sajt u PHP-u i kako se ne bih ponavljao, uvek onaj pocetni deo html-a ubacim u header.php fajl, pa ga pozivam u svakom fajlu gde zelim da imam sve ono sto je u header.php fajlu. Isto to radim i za footer, sidebar.

Ali, interesantna stvar nastaje kada zelim da na nekoj strani ukljucim novi CSS, JavaScript ili bilo koji drugi fajl.

Resenje pronalazim u tome da na tom fajlu ne ukljucujem header.php, vec da sve linije iz header.php fajla kopiram, ubacim u taj novi fajl i onda izmedju <head> tagova prikljucim tu dodatnu skriptu koja mi treba samo na toj strani.

E, mene interesuje da li postoji neko lepse resenje - da ostane include(header.php), ali da nekako mogu da dodam i taj css, javascript fajl?
[ Nikola Poša @ 29.05.2010. 19:27 ] @
Pa možeš u tom fajlu header.php da razviješ neku logiku za uključivanje JS/CSS fajlova u zavisnosti od npr. $_SERVER['REQUEST_URI']. Inače, najbolje rešenje bi bilo da u igru ubaciš neki template engine, jer većina njih poseduje plugin-ove, post filtere (šta god to sad bilo), koji omogućavaju upravo to što je tebi potrebno.
[ m.stojanov @ 29.05.2010. 19:38 ] @
Okej, Nikola, hvala na odgovoru. Pretpostavljao sam da mora neka logika da se ugradi u header.php fajl, ali rekoh da vidim da li je neko vec na tome radio, i ako jeste, kako. :)

Ali u svakom slucaju hvala tebi!
[ deZio @ 29.05.2010. 22:18 ] @
Ako nemaš puno različitih headera ili ne planiraš da ih imaš, možeš u header.php odraditi proveru sa if da ispita koji url je zatrazio header.php fajl, možeš napraviti i više header fajlova pa pozivaš onaj koji ti treba ili možda nešto ovako:
Code:
....
<head>
<?php include("header.php");      /*header.php sadrzi standardne meta tagove koje koristis za sve stranice*/ ?>
<!-- Ovde ubacujes dodatne meta tagove koji ti trebaju samo za ovu stranicu -->
</head>
<body>........
[ vatri @ 30.05.2010. 08:22 ] @
Mozda ovako:

dodas u header.php:

Code:

if( ! isset($inc_css) )
{
   $inc_css = 'default.css';
}


i onda ga ukljucis <link rel="stylesheet" type="text/css" href="<?=$inc_css?>" />

Ovo ti omogucava da na svakoj stranici gdje "inkludujes" header.php definises poseban css ili da ostavis default.css... Znaci samo prije include 'header.php' dodaj > $inc_css = 'neki_drugi.css' <

Isto tako mozes i za JS i ostalo...