Şu anda (özellikle Symfony ama bu deseni aktarmak gerekir) benim MVC çerçevesinde çok katmanlı menüler ulaşmak ayrı bir render ayarlayarak ardışık her katman işlemek için kendisini çağıran (Symfony açısından bileşeni) içerir. Şunlar bulunmaktadır kontrol modelinden muadilden ister ve sonra görünümüne geçirir. En şunlardır görünümü döndürülen her öğeyi oluşturur ve varsa modelinde üst değeri kapalı sorgulamak için geçerli öğenin kimliği geçirerek, tüm alt öğeleri yazdırmak için tekrar dahil çağırır.
Bu görünüm özgü gibi geliyor çünkü kadar klima gibi menü ekran Ben üst düzey görünümde o bırakacaktı.
Model
Geçerli Tier en öğeleri sorgulamak için buraya Doktrini adlı findByX yöntemleri ile iyi olmalıdır. Benim şema alanı parent
ben kullanmak istiyorum denir findByParent
.
Include's Controller
$items = Doctrine::getTable('TopMenuItems')->findByParent( isset($parent) ? $parent : null) ) // null for initial call to grab top-tier elements, recursion should pass in new parent for children
Include's View
<?php foreach($items as $item) : ?>
// echo HTML element for nav item
<?php $parent = $item['parent']; include('top_menu.php'); // call nav again to print this item's children ?>
<?php endforeach; ?>
Main View
<?php if($user->wantsTopMenu()) : ?>
<?php include('top_menu.php'); ?>
<?php endif; ?>
Umut olur.