Exemple #1
0
 /**
  * @param \Render\APIs\APIv1\RenderAPI $renderApi
  * @param \Render\Unit $unit
  * @param \Render\ModuleInfo $moduleInfo
  */
 public function renderContent($renderApi, $unit, $moduleInfo)
 {
     $responsiveImage = new ResponsiveImageBuilder($renderApi, $unit, $moduleInfo);
     $imageIds = $renderApi->getFormValue($unit, 'sliderImageIds', array());
     $imageQuality = null;
     if ($renderApi->getFormValue($unit, 'enableImageQuality')) {
         $imageQuality = $renderApi->getFormValue($unit, 'imageQuality');
     }
     $globalHeightPercent = str_replace('%', '', $renderApi->getFormValue($unit, 'imgHeight'));
     // render children (non extensions)
     if (count($imageIds) > 0) {
         echo '<ul class="slides">';
         $i = 0;
         foreach ($imageIds as $imageId) {
             // image
             try {
                 $image = $renderApi->getMediaItem($imageId)->getImage();
                 if ($globalHeightPercent == 0) {
                     $heightPercent = $image->getHeight() / $image->getWidth() * 100;
                 } else {
                     $heightPercent = $globalHeightPercent;
                 }
                 $cropHeight = $image->getWidth() * $heightPercent / 100;
                 // slides
                 if ($i == 0) {
                     echo '<li class="slide slideActive">';
                 } else {
                     echo '<li class="slide">';
                 }
                 $i++;
                 // image tag
                 $imgTag = $responsiveImage->getImageTag($image, array('resize' => array('width' => $image->getWidth(), 'height' => $cropHeight), 'quality' => $imageQuality));
                 if (isset($imgTag)) {
                     echo $imgTag->toString();
                 }
                 echo '</li>';
             } catch (\Exception $e) {
             }
         }
         echo '</ul>';
     } else {
         if ($renderApi->isEditMode()) {
             // missing input hint
             $i18n = new Translator($renderApi, $moduleInfo);
             echo '<div class="RUKZUKmissingInputHint">';
             echo '<div>';
             echo '<button onclick="javascript:CMS.openFormPanel(\'sliderImageIds\');">';
             echo $i18n->translate('button.missingInputHint', 'Choose images');
             echo '</button>';
             echo '</div>';
             echo '</div>';
         }
     }
     $renderApi->renderChildren($unit);
 }
Exemple #2
0
 public function getResponsiveImageTag($api, $unit, $moduleInfo, $mediaId, $altText, $url)
 {
     $image = null;
     $modifications = array();
     if (!empty($mediaId)) {
         try {
             $image = $api->getMediaItem($mediaId)->getImage();
             $modifications = $this->getImageModifications($api, $unit, $image);
         } catch (\Exception $e) {
             $image = null;
             $modifications = array();
         }
     }
     $responsiveImageBuilder = new ResponsiveImageBuilder($api, $unit, $moduleInfo);
     $return = $responsiveImageBuilder->getImageTag($image, $modifications, array('class' => 'teaserImage', 'title' => $api->getFormValue($unit, 'imageTitle'), 'alt' => $altText));
     if ($api->getFormValue($unit, 'enableImageLink')) {
         $return = new HtmlTagBuilder('a', array('href' => $url), array($return));
     }
     return $return;
 }
Exemple #3
0
 protected function getResponsiveImageTag($api, $unit, $moduleInfo)
 {
     $mediaId = $api->getFormValue($unit, 'imgsrc');
     $image = null;
     $modifications = array();
     if (!empty($mediaId)) {
         try {
             $image = $api->getMediaItem($mediaId)->getImage();
             $modifications = $this->getImageModifications($api, $unit, $image);
         } catch (\Exception $doNothing) {
             $image = null;
             $modifications = array();
         }
     }
     $responsiveImageBuilder = new ResponsiveImageBuilder($api, $unit, $moduleInfo);
     $attr = array('class' => 'imageModuleImg', 'alt' => $api->getFormValue($unit, 'imageAlt'));
     if ($api->getFormValue($unit, 'imageTitle', '') != '') {
         $attr['title'] = $api->getFormValue($unit, 'imageTitle');
     }
     return $responsiveImageBuilder->getImageTag($image, $modifications, $attr);
 }