Easy to add a fancybox slideshow to the gallery with a few simple changes. Other things would be pretty easy too.
In /templates/base/scripts/BxBaseFunctions.php
function genGalleryImages($aImages, $oTemplate = false)
{
if (!$aImages)
return '';
$aVars = array (
'prefix' => $sPrefix ? $sPrefix : 'id'.time().'_'.rand(1, 999999),
'bx_repeat:images_icons' => array (),
'bx_repeat:icons' => array (),
);
$iId = 0;
foreach ($aImages as $aImage) {
$a = array (
'id' => ++$iId,
'icon_url' => $aImage['icon_url'],
'image_url' => $aImage['image_url'],
'title' => $aImage['title'],
);
$aVars['bx_repeat:images'][] = $a;
$aVars['bx_repeat:icons'][] = $a;
}
if (!$oTemplate)
$oTemplate = $GLOBALS['oSysTemplate'];
$oTemplate->addJs('plugins/fancybox/|jquery.fancybox.js');
$oTemplate->addCss('plugins/fancybox/|jquery.fancybox.css');
$oTemplate->addJs('jquery.dolGalleryImages.js');
$oTemplate->addCss('gallery_images.css');
return $oTemplate->parseHtmlByName('gallery_images.html', $aVars);
}
Then in templates/tmpl_whatever/gallery_images.html
<div class="bx-def-bc-padding">
<div id="__prefix__-gallery" class="bx-gallery">
<div id="__prefix__-gallery-imgs" class="bx-gallery-imgs">
<bx_repeat:images>
<div class="bx-gallery-img-cont" data-img="__image_url__" data-icon="__icon_url__" id="bx-gallery-img-cont-__id__">
<div class="bx-gallery-img-title bx-def-font-large bx-def-round-corners">__title__</div>
<div><a class="fancybox" rel="group" href="__image_url__">Slideshow</a></div>
<img class="bx-gallery-img bx-def-shadow bx-def-round-corners" title="__title__" alt="__title__" src="__image_url__" id="bx-gallery-img-__id__" />
</div>
</bx_repeat:images>
</div>
<div class="bx-gallery-icons bx-def-margin-sec-bottom">
<div class="bx-gallery-icons-rails">
<bx_repeat:icons>
<img class="bx-gallery-icon" title="__title__" alt="___title__" src="__icon_url__" id="bx-gallery-icon-__id__" />
</bx_repeat:icons>
</div>
<div class="bx-gallery-icon-selector"></div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#__prefix__-gallery').dolGalleryImages();
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$(".fancybox").fancybox();
});
</script>
</div>
The CSS would need to be prettied up a bit, but that's all you need for a slideshow. Fetching the biggest image would take a few more code changes but nothing too complicated,
My opinions expressed on this site, in no way represent those of Boonex or Boonex employees.