/**
  * 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;
     }
 }
Example #2
0
 /**
  * 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();
 }