public function render(ddNavMenuItem $menu)
 {
     $_menu = '<ul class="menu">';
     foreach ($menu->getChildren() as $i) {
         if ($i->isAuthorized()) {
             $_menu .= '<li class="menu-item ' . ($i->hasChildren() ? 'has-sub-menu' : '') . '" id="' . str_replace('_', '-', $i->getName()) . '-menu-item">';
             $_menu .= link_to(str_replace(' ', '&nbsp;', $i->getLabel()), $i->getRoute(), $i->getParameters());
             if ($menu->hasChildren()) {
                 $_menu .= '<ul class="sub-menu">';
                 foreach ($i->getChildren() as $child) {
                     if ($child->isAuthorized()) {
                         $_menu .= '<li class="menu-item">' . link_to(str_replace(' ', '&nbsp;', $child->getLabel()), $child->getRoute(), $child->getParameters()) . '</li>';
                     }
                 }
                 $_menu .= '</ul>';
             }
             $_menu .= '</li>';
         }
     }
     $_menu .= '</ul>';
     print_r($_menu);
 }
Example #2
0
/**
 * Loads a menu from a config file
 */
function load_menu($file = null, $dir = null)
{
    if (is_null($file)) {
        $file = sfConfig::get('app_menu_file');
    }
    if (is_null($dir)) {
        $dir = sfConfig::get('sf_app_config_dir') . '/';
    }
    if (strpos($file, '.yml') != false) {
        $arr = sfYaml::load($dir . $file);
        $menu = ddNavMenuItem::createFromArray($arr);
    } else {
        include_once $dir . $file;
    }
    return $menu;
}
 public function __constructor()
 {
     $this->_context = new StdClass();
     parent::construct(null, null, array());
 }
 public function removeChild(ddNavMenuItem $c)
 {
     unset($this->_children[$c->getName()]);
 }