Bir var, ben oldukça kolay bir soru düşünüyorum, ama bu bir süre için şimdi beni dinletiyor. Yani belki burada biraz yardım alabilirsiniz, düşündüm.
Özyinelemeli fonksiyonlar her zaman benim için biraz zor ve bazen biraz belirsiz olduğundan, benim MenuData almak için güzel bir çalışma çözümü oluşturmak için mücadele tutmak.
Benim sınıfların birinde ben ardışık bana bütün menü öğeleri verir bu işlevi var.
İstediğim şey, belli bir nesne yüzden yuvalama seviyeleri için girintili bir güzel görünümlü bir HTML çıktı oluşturabilirsiniz alınacağını edildiği özyineleme düzeyde belirlemektir.
public function GetObjectList($parentID = 0, $objectlist = null)
{
if(is_null($objectlist))
{
$objectlist = new ObjectList("Model_Navigation");
}
$query = MySQL::Query("SELECT * FROM `Navigation` WHERE `WebsiteID` = ".SITE_ID. " AND `LanguageID` = ".LANG_ID." AND `ParentID` = ".$parentID);
while($result = MySQL::FetchAssoc($query))
{
$object = new Model_Navigation();
$object->ID = $result["ID"];
$object->WebsiteID = $result["WebsiteID"];
$object->LanguageID = $result["LanguageID"];
$object->ParentID = $result["ParentID"];
$object->Name = $result["Name"];
$object->Page = Model_Page::GetObjectByID($result["PageID"]);
$object->ExternalURL = $result["ExternalURL"];
$object->Index = $result["Index"];
$object->Level = [here lies my problem];
$objectlist->Add($object);
self::GetObjectList($object->ID, $objectlist);
}
return $objectlist;
}