protected function _render(Text_Renderer $renderer, $view_case)
 {
     switch ($view_case) {
         case 'top':
         case 'bottom':
             parent::_render($renderer, 'default');
             break;
         default:
             parent::_render($renderer, $view_case);
     }
 }
 protected function _render(Text_Renderer $renderer, $view_case)
 {
     switch ($view_case) {
         case 'menu':
             if ($this->_menu === null) {
                 $this->loadMenu();
             }
             $this->_menu->render($renderer);
             break;
         case 'catalog only':
             if ($this->_root === null) {
                 try {
                     $this->_only = self::CATALOG_ONLY;
                     $this->resolveTemplate();
                     if (!$this->_skipped) {
                         $this->_root->render($renderer);
                     }
                 } catch (Data_Insufficient_Exception $e) {
                     if ($e->resource != 'template') {
                         throw $e;
                     }
                 }
             }
             break;
         case 'detail only':
             if ($this->_root === null) {
                 try {
                     $this->_only = self::DETAIL_ONLY;
                     $this->resolveTemplate();
                     if (!$this->_skipped) {
                         $this->_root->render($renderer);
                     }
                 } catch (Data_Insufficient_Exception $e) {
                     if ($e->resource != 'template') {
                         throw $e;
                     }
                 }
             }
             break;
         default:
             parent::_render($renderer, $view_case);
     }
 }