ugrás a tartalomhoz

PHP Include () Content

mctom · 2013. Jan. 12. (Szo), 12.19
Sziasztok!

Kezdő PHP-s vagyok és egy tartalmilag eléggé maassziv weboldal készítésén fáradozom, és Hardcore PHP-sek javaslatát szeretném kérni az alábbi probléma abszolválásában :).

Framek helyett kezdtem el használni a PHP Include () parancsot a Content és a navigation elkülönítésére.

Általánosságban evvel a paranccsal rendelik hozzá a tartalomhoz a navigációs menüket.

Na mármost én egy "fordított" megoldásra keresem a választ, éppen a webodal terjedelme miatt, hogy későbbi korrekcióknál ne keljen átírni minden oldalnál pl. a meta adatokat.

Szóval én ezt úgy értem hogy adott egy Index.php fájlunk ami tartalmazza alapból a navigációt ("a weboldal keretét"), és a a menü pontokkal hozzuk be a tartalmat PHP Include parancs által.

Ha esetleg valaki tud valaki hasznosat mondani, vagy valami használható leírást/tutorialt linkelni akkor azt megköszönném.

Mctom
 
1

Keretrendszer?

Pepita · 2013. Jan. 12. (Szo), 14.49
- Kezdő PHP-sként nem biztos, hogy tetszik az ötlet, de vannak keretrendszerek, amikkel könnyebb megoldani az ilyesmit. Ha van időd / kedved, nézegesd meg a CodeIgniter-t.

- Az include () nem parancs, hanem nyelvi elem. Semmi más szerepe nincs, mint hogy segítse több fájlba kiszervezni azt, amit végül egy oldalként akarsz kiküldeni.

- Ugyanúgy a HTML <head> részében is használhatod. Pl. írj egy tömböt egy fájlba (mondjuk config.php), amiben eltárolod azt, hogy egy adott URI-hoz milyen oldalrészeket kell beilleszteni.
Valahogy így:

$oldalak = array(
 'oldal1' => array('head' => 'valami/konyvtar/head1.php', 'content' => 'valami/konyvtar/content1.php'),
 'oldal2' => array('head' => 'valami/konyvtar/head2.php', 'content' => 'valami/konyvtar/content2.php'), ...
);
Itt az első index (oldal1, oldal2, ...) az URI, tehát az index.php-ben megnézed, hogy a kérés melyik indexnek felel meg. Ezután (pl. most oldal1-et kértek) a head-ben lesz include ($oldalak['oldal1']['head'];, a contentnél u.ez, csak 'content' második indexszel. A kérés ellenőrzéséhez böngészd kicsit a manualt, nem akarok mindent "készen adni".

Szerk.: természetesen nem kell egész head-et tárolnod, lehet több eleme is a tömbödnek, pl.: 'css1', 'css2', ..., 'js1', 'js2', ...
Fantáziádra bízom.
2

Ez jó kiindulásnak

mctom · 2013. Jan. 13. (V), 00.45
Oké ez pont elég nekem kiindulásnak, szerencsére az angol nyelvű dokumentáció részletesen tárgyal mindent, úgyhogy előbb-utóbb megoldom valahogy. Amúgy kösz!
3

Helyes, szívesen

Pepita · 2013. Jan. 17. (Cs), 16.46
Ha megoldottad, kitehetnéd a megoldásodat, hadd tanuljon más is belőle.