/** * @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); }
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; }
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); }