| // +---------------------------------------------------------------------------+ /** * Breadcrumbs block. * * @package block */ class Navigation_Block_Breadcrumbs { var $template = 'Breadcrumbs.html'; var $templatePath = 'navigation'; function init(&$output, $block_id, &$aParams) { SGL::logMessage(null, PEAR_LOG_DEBUG); return $this->getBlockContent($output, $aParams); } function getBlockContent(&$output, &$aParams) { SGL::logMessage(null, PEAR_LOG_DEBUG); $blockOutput = &new SGL_Output(); $blockOutput->theme = $output->theme; $blockOutput->webRoot = $output->webRoot; // prepare navigation driver $navDriver = $output->conf['navigation']['driver']; $nav = & new $navDriver($output); // set default params $aDefaultParams = array( 'startParentNode' => 0, 'startLevel' => 0, 'levelsToRender' => 1, 'collapsed' => 1, 'showAlways' => 0, 'breadcrumbs' => 1, ); // set custom params if (array_key_exists('startParentNode', $aParams)) { $aDefaultParams['startParentNode'] = (int)$aParams['startParentNode']; } if (array_key_exists('template', $aParams)) { $this->template = $aParams['template']; } // set new navigation driver params $nav->setParams($aDefaultParams); // call navigation renderer $aNav = $nav->render(null); $blockOutput->breadcrumbs = $aNav[2]; return $this->process($blockOutput); } function process(&$output) { // use moduleName for template path setting $output->moduleName = $this->templatePath; $output->masterTemplate = $this->template; $view = new SGL_HtmlSimpleView($output); return $view->render(); } } ?>