/**
  * Gets the view
  * @param array $result
  * @param \ride\web\cms\orm\ContentProperties $properties
  * @param \ride\library\form\view\FormView|null $searchForm
  * @param integer $numRows
  * @param integer $pages
  * @param integer $page
  * @param array $arguments
  * @return \ride\library\mvc\view\View
  */
 private function setView(ContentProperties $contentProperties, array $result, $searchForm, $numRows, $pages = 1, $page = 1, array $arguments = array())
 {
     $pagination = null;
     if ($contentProperties->willShowPagination()) {
         $query = null;
         $paginationUrl = $this->request->getUrl();
         if (strpos($paginationUrl, '?') !== false) {
             list($paginationUrl, $query) = explode('?', $paginationUrl, 2);
         }
         $query = preg_replace('((\\?)?' . self::PARAM_PAGE . '=([0-9])*(&)?)', '', $query);
         $paginationUrl .= '?' . self::PARAM_PAGE . '=' . '%page%';
         if ($query) {
             $paginationUrl .= '&' . $query;
         }
         $pagination = new Pagination($pages, $page);
         $pagination->setHref($paginationUrl);
     }
     $moreUrl = null;
     if ($contentProperties->willShowMoreLink()) {
         $nodeModel = $this->dependencyInjector->get('ride\\library\\cms\\node\\NodeModel');
         $selfNode = $this->properties->getNode();
         try {
             $node = $nodeModel->getNode($selfNode->getRootNodeId(), $selfNode->getRevision(), $contentProperties->getMoreNode());
             $moreUrl = $this->request->getBaseScript() . $node->getRoute($this->locale);
         } catch (NodeNotFoundException $exception) {
         }
     }
     $filterUrl = str_replace($this->request->getQuery(), '', $this->request->getUrl());
     foreach ($this->filters as $filterName => $filter) {
         $filter['filter']->setVariables($this->filters, $this->model, $filterName, $this->locale, $filterUrl);
     }
     $this->setContext('orm.overview.' . $this->id, $result);
     $this->setContext('orm.filters.' . $this->id, $this->filters);
     $this->setContext('orm.filters.' . $this->id . '.url', $filterUrl);
     $this->setContext('orm.search.' . $this->id, $searchForm);
     $this->setContext('orm.num.rows.' . $this->id, $numRows);
     $template = $this->getTemplate(static::TEMPLATE_NAMESPACE . '/block');
     $variables = array('locale' => $this->locale, 'widgetId' => $this->id, 'result' => $result, 'numRows' => $numRows, 'properties' => $contentProperties, 'title' => $contentProperties->getTitle(), 'emptyResultMessage' => $contentProperties->getEmptyResultMessage(), 'filterUrl' => $filterUrl, 'filters' => $this->filters, 'searchForm' => $searchForm, 'arguments' => $arguments, 'pagination' => $pagination, 'moreUrl' => $moreUrl, 'moreLabel' => $contentProperties->getMoreLabel());
     $view = $this->setTemplateView($template, $variables);
     $viewProcessor = $contentProperties->getViewProcessor();
     if ($viewProcessor) {
         $viewProcessor = $this->dependencyInjector->get('ride\\web\\cms\\orm\\processor\\ViewProcessor', $viewProcessor);
         $viewProcessor->processView($view);
     }
     return $view;
 }