function getViewer($action)
 {
     // If there is no dynamic template, or it doesn't contain
     // SSViewer templates, use default handling.
     if (!$this->customTemplates) {
         return parent::getViewer($action);
     }
     // @todo: Handle all cases that can come out in the templates
     // for an action. Determine error handling if action is not handled,
     // and index is not present.
     return new SSDynamicViewer($this->customTemplates);
 }
 /**
  * Return an SSViewer object to process the data
  * Manipulates the SSViewer in case of a product detail view.
  * 
  * @param string $action Action
  * 
  * @return SSViewer The viewer identified being the default handler for this Controller/Action combination
  */
 public function getViewer($action)
 {
     $viewer = parent::getViewer($action);
     if ($this->isProductDetailView()) {
         $this->ProductDetailRequirements();
         $templates = $viewer->templates();
         $viewer = new SSViewer(array('SilvercartProductPage', basename($templates['main'], '.ss')));
     }
     return $viewer;
 }