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(' ', ' ', $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(' ', ' ', $child->getLabel()), $child->getRoute(), $child->getParameters()) . '</li>'; } } $_menu .= '</ul>'; } $_menu .= '</li>'; } } $_menu .= '</ul>'; print_r($_menu); }
/** * 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()]); }