/** * @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); }