
Gabor
Szerkesztő
|
Szia!
Hosszú távon valószínűleg jobban megéri úgy átstruktúrálni a programot, hogy ami már a headerben kell az a megfelelő időben rendelkezésre álljon. Viszont ideiglenes megoldásként jó hasznát veheted a kimenet bufferelésének. Vagyis a php képes arra, hogy mikor a kimenetre írna és ezzel a böngészőnek küldené az adatokat (echo, print) akkor ehelyett egy bufferben (ideiglenes tároló) gyűjti azokat. Később pedig ezt egyben el lehet küldeni, vagy kinyerni a tartalmát és tetszőlegesen feldolgozni.
Így megteheted, hogy amit az index.php kiírna azt valójában nem küldi el, ezután hívod a headert az index.php végén, és így már meglesznek a változók, majd elküldöd az index.php kimenetét végül a footert Lássuk a gyakorlatban.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php
//ez az index.php
// eddig itt volt az include 'header.php';
// ehelyett most elkezdjük a kimenetet bufferelni,
// még mielőtt bármit elküldenénk
ob_start();
/* itt jönt az index.php tartalma
definiálod a megfelelő változókat,
kiírod az oldal törzsét */
// itt jönne az include 'footer.php'
// de most előbb még,
$htmlcontent = ob_get_contents();
ob_end_clean();
include 'header.php'; //header
echo $htmlcontent; // amit az index.php kiírt
include 'footer.php'; // footer
|
|

donrobertito
Kezdő
|
Sziasztok!
Van egy oldalam, ahol a készítésnél még nem vettem figyelembe a kulcsszavakat és az oldal címet, de most szeretném pótolni. A site struktúrája: header.php, index.php, footer.php.
Az index.php-ben include-olom a headert és footert. A cimkék az index.php-ben vannak kiírva az oldal alján. Ezeket szeretném, ha meta kulcsszóként is szerepelnének a html <head> ... </head> részében, ami a header.php-ben van.
Hiába iratom ki őket, üres marad a mező. Gondolom, mert utána kerülnek definiálásra a változóim.
Van valakinek valami jó ötlete erre?
Köszönöm!
Robi
üdv: robertito
|
|