Kezdőoldal » Számítástechnika » Programozás » PHP - XML menügenerálás,...

PHP - XML menügenerálás, tartalomkezelés, satöbbi segítene valaki? Kód a leírásban.

Figyelt kérdés

Semmit sem értek az egészből, hiába tanuljuk órán és próbálja a tanár elmagyarázni, nem fogom fel, tudna valaki segíteni abban, hogy elmagyarázná részletesen és érthetően "magyar" nyelven, hogy hogy is van ez az egész?:) Amit bemásolok az az index.phpból lett kiszedve amiben van maga a programozó rész, menügenerálás, xml betöltés ezt tudom. Aztán van egy XML fájl amiben maga a tartalom van benne oké. És van egy html fájl amiben pedig az állandó dolgok vannak, pl lábléc,fejléc, kiegészítve a generált dolgokkal amikben a phpban pl: #TITLE#. A lényeg hogy a kód megértésében, a programozás részben segítene valaki megérteni ezt?


<?

// DOMDocument Objektum létrehozása

$doc = new DOMDocument();

// XML tartalmának betöltés az objektumba

$doc->load('sajat.xml');


// Oldalazonosító meghatározása

$pageID = 'fooldal';

$i = 0;

while ( (isset($_GET['o'.$i])) && ($pageID <> 'e404') ){

if ($doc->getElementById($_GET['o'.$i])) {

$pageID = $_GET['o'.$i];

}

else {

$pageID = 'e404';

}

$i++;

}


// Aktuális oldal objektumának létrehozása azonosító alapján

$page = $doc->getElementById($pageID);


// Sablon betöltése szöveges változóba

$template = file_get_contents('template.html');


// Főmenü dinamikus generálása (oldalazonosítók és címek HTML kódba helyezése)

$templatePieces = explode('#MENU#',$template);

$menuHTML = next($templatePieces);


$menu = str_replace(array('#HREF#','#TITLE#'),array('index.php','Főoldal'),$menuHTML);

foreach($doc->getElementsByTagName('o0') as $o){

$href = 'index.php?o0='.$o->getAttribute('xml:id');

$title = $o->getElementsByTagName('cim')->item(0)->nodeValue;

$menu .= str_replace(array('#HREF#','#TITLE#'),array($href,$title),$menuHTML);

}


// Sablon újraírása a főmenü változója miatt

$template = $templatePieces[0].'#MENU#'.$templatePieces[2];


// Csere változók paraméterezése az aktuális oldal alapján

$replace = array(

'#TITLE#' => $page->getElementsByTagName('cim')->item(0)->nodeValue,

'#DESCRIPTION#' => $page->getElementsByTagName('metaleiras')->item(0)->nodeValue,

'#KEYWORDS#' => $page->getElementsByTagName('metakulcsszavak')->item(0)->nodeValue,

'#MENU#' => $menu,

'#CONTENT#' => $page->getElementsByTagName('tartalom')->item(0)->nodeValue

);


// Változók cseréje a sablonban

foreach($replace as $key => $value){

$template = str_replace($key,$value,$template);

}


// Aktuális oldal megjelenítése

echo $template;

?>



2013. márc. 11. 18:55
Sajnos még nem érkezett válasz a kérdésre.
Te lehetsz az első, aki segít a kérdezőnek!

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!