Esempio n. 1
0
 /**
  * Get the data rows and return a renderer ready to be used
  *
  * @param  string                     $action The action template string
  * @return HTML_Menu_TipRenderer|null         The renderer or
  *                                            null on errors
  * @internal
  */
 protected function &_getRenderer($action)
 {
     if (is_null($this->_model)) {
         $this->startDataView() && $this->endView();
     }
     if (is_null($this->_model)) {
         $fake_null = null;
         return $fake_null;
     }
     // Duplicate the model and update the URLs on the copy
     $model = $this->_model;
     $this->_updateModelUrl($model, $action);
     require_once 'HTML/Menu.php';
     $menu = new HTML_Menu($model);
     empty($action) || $menu->forceCurrentUrl(TIP::getRequestUri());
     $renderer =& TIP_Renderer::getMenu();
     $menu->render($renderer, 'sitemap');
     return $renderer;
 }
Esempio n. 2
0
 /**
  * Render this chronology in XHTML format
  * @return string The rendered html
  */
 public function toHtml()
 {
     if (!$this->_render()) {
         return '';
     }
     require_once 'HTML/Menu.php';
     $model =& new HTML_Menu($this->_tree);
     $model->forceCurrentUrl(TIP::getRequestUri());
     $renderer =& TIP_Renderer::getMenu($this->levels);
     $model->render($renderer, 'sitemap');
     $html = $renderer->toHtml();
     if ($renderer->isCurrentContainer()) {
         // If the current row is a container, don't index this page
         TIP_Application::setRobots(false, null);
     }
     return $html;
 }