Beispiel #1
0
 /**
  * Return rendered record image HTML.
  *
  * @param string $type   Page type (list, record).
  * @param array  $params Optional array of image parameters as
  *                       an associative array of parameter => value pairs:
  *                         'w'    Width
  *                         'h'    Height
  *
  * @return string
  */
 public function render($type = 'list', $params = null)
 {
     if ($params) {
         foreach ($params as $size => $sizeParams) {
             $this->params[$size] = array_merge($this->params[$size], $sizeParams);
         }
     }
     $view = $this->getView();
     $view->type = $type;
     $view = $this->getView();
     $urlHelper = $this->getView()->plugin('url');
     $numOfImages = $this->record->getNumOfRecordImages('large');
     $params = $this->record->getRecordImage('small');
     unset($params['url']);
     unset($params['size']);
     $view->smallImage = $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params['small']));
     $params = $this->record->getRecordImage('large');
     unset($params['url']);
     unset($params['size']);
     $view->mediumImage = $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params['medium']));
     $view->largeImage = $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params['large']));
     $images = [];
     if ($numOfImages > 1) {
         for ($i = 0; $i < $numOfImages; $i++) {
             $params['index'] = $i;
             $images[] = ['small' => $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params['small'])), 'medium' => $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params['medium'])), 'large' => $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params['large']))];
         }
     }
     $view->allImages = $images;
     return $view->render('RecordDriver/SolrDefault/record-image.phtml');
 }
Beispiel #2
0
 /**
  * Return rendered record image HTML.
  *
  * @param string $type   Page type (list, record).
  * @param array  $params Optional array of image parameters as
  *                       an associative array of parameter => value pairs:
  *                         'w'    Width
  *                         'h'    Height
  *
  * @return string
  */
 public function render($type = 'list', $params = null)
 {
     if ($params) {
         foreach ($params as $size => $sizeParams) {
             $this->params[$size] = array_merge($this->params[$size], $sizeParams);
         }
     }
     $view = $this->getView();
     $view->type = $type;
     $view = $this->getView();
     $urlHelper = $this->getView()->plugin('url');
     $numOfImages = $this->record->getNumOfRecordImages('small');
     $numOfLargeImages = $this->record->getNumOfRecordImages('large');
     if ($view->layout()->templateDir === 'combined') {
         $numOfImages = min(1, $numOfImages);
     }
     $imageTypes = ['small' => 'smallImage', 'medium' => 'mediumImage', 'large' => 'largeImage'];
     $images = [];
     foreach ($imageTypes as $imageType => $viewParam) {
         $params = $this->record->getRecordImage($imageType);
         if ($imageType == 'large' && !$numOfLargeImages || !is_array($params)) {
             $view->{$viewParam} = $params;
         } else {
             unset($params['url']);
             unset($params['size']);
             $view->{$viewParam} = $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params[$imageType]));
             if ($numOfImages > 1) {
                 for ($i = 0; $i < $numOfImages; $i++) {
                     if (!isset($images[$i])) {
                         $images[$i] = [];
                     }
                     $params['index'] = $i;
                     $images[$i][$imageType] = $urlHelper('cover-show') . '?' . http_build_query(array_merge($params, $this->params[$imageType]));
                 }
             }
         }
     }
     $view->allImages = $images;
     return $view->render('RecordDriver/SolrDefault/record-image.phtml');
 }