Witam pomoże ktoś albo podpowie jak zrobić taką funkcje która będzie tworzyła menu, ponieważ pisanie samym HTMLem jest czasochłonna pomyślałem że przydałoby się zrobić funkcje w php5 która skróci ten czas
kiedyś udało mi sie taką funkcje stworzyć ale teraz coś mi nie wychodzi proszę o pomoc co jest źle co poprawić czy coś bo bardzo by się przydała taka funkcja.
z góry Dziękuję
Kod php:
function menu_create($menu,$mid = null,$citem,$cid = null,$item,$id = null,$link,$alias){
$dom = new DOMDocument("1.0","UTF-8");
/*
* sprawdzanie czy argument jest tablicą czy nie.
* jeśli nie wkleja pojedyńcze elementy menu jeśli tak tworzy się pętla
*/
//tworzenie kontenera menu
if(!is_array($menu)){
//tworzenie pojedyńczego elementu menu
$menus = $dom->createElement($menu);
$dom->appendChild($menus);
}else{
//tworzenie wielu elementów przez pętle
for($a = 0;$a < count($menu);$a++){
$menus = $dom->createElement($menu[$a]);
$dom->appendChild($menus[$a]);
}
}
//sprawdzanie czy argumenty które przypisują id do elementu są puste czy nie
//jeśli tak nie przypisuje tego argumentu do elementu
//jeśli nie wtedy go przypisuje
if(empty($mid)){
}else{
//przypisanie pojedyńczego argumentu id do elementu menu
if(!is_array($mid)){
$menus->setAttribute("id",$mid);
}else{
for($b = 0;$b < count($mid);$b++){
$menus->setAttribute("id",$mid[$b]);
}
}
}
//tworzenie contenera dla linku
if(!is_array($citem)){
$cit = $dom->createElement($citem);
$menus->appendChild($cit);
}else{
for($c = 0;$c < count($citem);$c++){
$cit = $dom->createElement($citem[$c]);
$menus->appendChild($cit[$c]);
}
}
if(empty($cid)){
}else{
if(!is_array($cid)){
$cit->setAttribute("id",$cid);
}else{
for($d = 0;$d < count($cid);$d++){
$cit->setAttribute("id",$cid[$d]);
}
}
}
//tworzenie linku w menu
if(!is_array($item)){
$it = $dom->createElement($item);
$cit->appendChild($it);
}else{
for($e = 0;$e < count($item);$e++){
$it = $dom->createElement($item[$e]);
$cit->appendChild($it[$e]);
}
}
if(empty($id)){
}else{
if(!is_array($id)){
$it->setAttribute("id",$id);
}else{
for($f = 0;$f < count($id);$f++){
$it->setAttribute("id",$id[$f]);
}
}
}
//przypisanie adresu do linku
if(!is_array($link)){
$it->setAttribute("href",$link);
}else if(is_array($link)){
for($g = 0;$g < count($link);$g++){
$it->setAttribute("href",$link[$g]);
}
}
//przypisanie nazwy linku
//error_reporting(0);
if(!is_array($alias)){
$alis = $dom->createTextNode($alias);
$it->appendChild($alis);
}else if(is_array($alias)){
for($h = 0;$h < count($alias);$h++){
$it->appendChild($dom->createTextNode($alias[$h]));
}
}
//$it->appendChild($alis);
//$cit->appendChild($it);
//$menus->appendChild($cit);
//$dom->appendChild($menus);
print $dom->saveHTML();
}
kiedyś udało mi sie taką funkcje stworzyć ale teraz coś mi nie wychodzi proszę o pomoc co jest źle co poprawić czy coś bo bardzo by się przydała taka funkcja.
z góry Dziękuję