示例#1
0
 /**
  *
  * @param string $result
  * @param Context $context
  * 
  * @return array Rule array or false if not found
  */
 protected function find($result, Context $context)
 {
     $actionName = $context->getActionName();
     if ($context->getRequest()->isXmlHttpRequest() && isset($this->rules[$actionName]['ajax:' . $result])) {
         return $this->rules[$actionName]['ajax:' . $result];
     } elseif ($context->hasParent() && isset($this->rules[$actionName]['embed:' . $result])) {
         return $this->rules[$actionName]['embed:' . $result];
     }
     return isset($this->rules[$actionName][$result]) ? $this->rules[$actionName][$result] : false;
 }
 protected function calculateTemplate($pageName, Context $context, array $config)
 {
     $cfg = $this->getConfig($pageName, $config);
     // widget
     if ($context->hasParent()) {
         $tpl = $cfg['template_widget'] != null ? $cfg['template_widget'] . self::PAGES_EXTENSION : $pageName . self::PAGES_EXTENSION;
     } elseif ($context->getRequest()->isXmlHttpRequest()) {
         $tpl = $cfg['template_ajax'] != null ? $cfg['template_ajax'] . self::PAGES_EXTENSION : $pageName . self::PAGES_EXTENSION;
     } else {
         $tpl = $pageName . self::PAGES_EXTENSION;
     }
     $template = $this->path->calculate(array($config['directories']['pages'], $tpl));
     return $template;
 }