/** * Saves the page paramters after the page url is saved * @param PageUrl $pageUrl The page url */ private function SaveParams(PageUrl $pageUrl) { $this->ClearParams($pageUrl); $params = $this->serializer->LinesToArray($this->Value('Params')); $prev = null; foreach ($params as $name => $value) { $param = new PageUrlParameter(); $param->SetPageUrl($pageUrl); $param->SetPrevious($prev); $param->SetName($name); $param->SetValue($value); $param->Save(); $prev = $param; } }
/** * Saves the page selection */ protected function OnSuccess() { $allParams = array(); foreach ($this->oblParams as $param) { $allParams[$param] = $this->Value($param); } $optParams = $this->serializer->LinesToArray($this->Value('OptionalParameters')); foreach ($optParams as $name => $value) { if (!isset($allParams[$name])) { $allParams[$name] = $value; } } $this->SetJSFieldValue('#' . $this->prefix . 'Params', $this->serializer->ArrayToLines($allParams)); $this->SetJSFieldValue('#' . $this->prefix . 'Page', $this->page->GetID()); $this->SetJSFieldValue('#' . $this->prefix . 'Fragment', $this->Value('Fragment')); $this->SetJSHtml('#' . $this->prefix . 'Url', FrontendRouter::PageUrl($this->page, $allParams, $this->Value('Fragment'))); $this->CloseModal(); }