Exemplo n.º 1
0
 /**
  * @param	string	$pkg	name of the page view to be configured
  * @param	HtmlPageInterface $page
  * @return	null
  */
 public function applyView($pkg, HtmlPageInterface $page)
 {
     if (!is_string($pkg) || empty($pkg)) {
         $err = "view package must be an non empty string";
         throw new InvalidArgumentException($err);
     }
     $page->setViewPkg($pkg);
     $stack = new FileStack();
     if ($this->isBuild()) {
         $htmlPkg = ResourceTreeManager::resolveBuildPage($pkg, $stack);
     } else {
         $htmlPkg = ResourceTreeManager::resolvePage($pkg, $stack);
     }
     $url = $this->getResourceUrl();
     $js = $stack->get('js', "{$url}/resource");
     foreach ($js as $file) {
         $page->addScript($file);
     }
     $css = $stack->get('css', "{$url}/resource");
     foreach ($css as $file) {
         $page->addCssLink($file);
     }
     $config = $htmlPkg->getHtmlConfig();
     $page->setViewPkgName($htmlPkg->getHtmlDocName());
     $this->apply($config, $page);
 }