112 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package         Advanced Custom Fields
 | |
|  * @version         2.8.8 Pro
 | |
|  * 
 | |
|  * @author          Tassos Marinos <info@tassos.gr>
 | |
|  * @link            https://www.tassos.gr
 | |
|  * @copyright       Copyright © 2024 Tassos All Rights Reserved
 | |
|  * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 | |
| */
 | |
| 
 | |
| defined('_JEXEC') or die('Restricted access');
 | |
| 
 | |
| use Joomla\CMS\Layout\FileLayout;
 | |
| use Joomla\CMS\HTML\HTMLHelper;
 | |
| use Joomla\CMS\Language\Text;
 | |
| use Joomla\CMS\Factory;
 | |
| 
 | |
| extract($displayData);
 | |
| 
 | |
| if (!$items || !is_array($items) || !count($items))
 | |
| {
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if ($load_stylesheet)
 | |
| {
 | |
|     HTMLHelper::script('plg_system_nrframework/vendor/swiper.min.js', ['relative' => true, 'version' => 'auto']);
 | |
|     HTMLHelper::script('plg_system_nrframework/widgets/slideshow.js', ['relative' => true, 'version' => 'auto']);
 | |
| 
 | |
| 	HTMLHelper::stylesheet('plg_system_nrframework/vendor/swiper.min.css', ['relative' => true, 'version' => 'auto']);
 | |
| 	HTMLHelper::stylesheet('plg_system_nrframework/widgets/slideshow.css', ['relative' => true, 'version' => 'auto']);
 | |
| }
 | |
| 
 | |
| if ($load_css_vars)
 | |
| {
 | |
| 	Factory::getDocument()->addStyleDeclaration('
 | |
| 		.nrf-widget.tf-slideshow-wrapper.' . $id . ',
 | |
| 		.nrf-widget.tf-slideshow-thumbs-wrapper.' . $id . ' {
 | |
| 			--swiper-theme-color: ' . $theme_color . ';
 | |
| 		}
 | |
| 	');
 | |
| }
 | |
| ?>
 | |
| <div class="nrf-widget tf-gallery-wrapper tf-slideshow-wrapper swiper<?php echo $css_class; ?>" role="region" aria-roledescription="carousel" aria-label="<?php echo Text::_('NR_HIGHLIGHTED_CAROUSEL'); ?>" data-options="<?php echo htmlspecialchars(json_encode($options), ENT_COMPAT, 'UTF-8'); ?>" id="tf-slideshow-<?php echo $id; ?>">
 | |
|     <div class="swiper-wrapper" aria-live="off">
 | |
|         <?php
 | |
|             foreach ($items as $index => $item)
 | |
|             {
 | |
|                 ?>
 | |
|                 <div class="swiper-slide" role="group" aria-roledescription="slide" aria-label="<?php Text::sprintf('NR_X_OF_X', ($index + 1), count($items)); ?>">
 | |
|                     <?php if ($lightbox): ?>
 | |
|                         <a href="<?php echo $item['url']; ?>" class="tf-gallery-lightbox-item tf-slideshow-<?php echo $id; ?>" data-type="image" data-description=".glightbox-desc.<?php echo $id; ?>.desc-<?php echo $index; ?>">
 | |
|                     <?php endif; ?>
 | |
|                     <img loading="lazy" src="<?php echo isset($item['slideshow']) && !empty($item['slideshow']) ? $item['slideshow'] : $item['url']; ?>"<?php echo $item['img_atts']; ?> alt="<?php echo strip_tags($item['alt']); ?>" />
 | |
|                     <?php if ($lightbox): ?>
 | |
|                         </a>
 | |
|                         <div class="glightbox-desc <?php echo $id . ' desc-' . $index; ?>">
 | |
|                             <div class="caption"><?php echo nl2br($item['caption']); ?></div>
 | |
|                             <div class="module"><?php echo !empty($module) ? \NRFramework\Helpers\Widgets\Gallery::loadModule($module) : ''; ?></div>
 | |
|                         </div>
 | |
|                     <?php endif; ?>
 | |
|                 </div>
 | |
|                 <?php
 | |
|             }
 | |
|         ?>
 | |
|     </div>
 | |
| 
 | |
|     <?php if ($options['autoplay_progress']): ?>
 | |
|     <div class="autoplay-progress-circle">
 | |
|         <svg viewBox="0 0 48 48">
 | |
|             <circle cx="24" cy="24" r="20"></circle>
 | |
|         </svg>
 | |
|         <span></span>
 | |
|     </div>
 | |
|     <?php endif; ?>
 | |
| 
 | |
|     <?php if (in_array($nav_controls, ['arrows', 'arrows_dots'])): ?>
 | |
|     <div class="swiper-button-prev" aria-label="<?php echo Text::_('NR_PREVIOUS_SLIDE'); ?>"></div>
 | |
|     <div class="swiper-button-next" aria-label="<?php echo Text::_('NR_NEXT_SLIDE'); ?>"></div>
 | |
|     <?php endif; ?>
 | |
| 
 | |
|     <?php if (in_array($nav_controls, ['dots', 'arrows_dots'])): ?>
 | |
|     <div class="swiper-pagination"></div>
 | |
|     <?php endif; ?>
 | |
| </div>
 | |
| 
 | |
| <?php if ($show_thumbnails): ?>
 | |
| <div thumbsSlider="" class="nrf-widget tf-slideshow-thumbs-wrapper swiper<?php echo $css_class; ?>" id="thumbs_tf-slideshow-<?php echo $id; ?>">
 | |
|     <div class="swiper-wrapper">
 | |
|         <?php
 | |
|             foreach ($items as $index => $item)
 | |
|             {
 | |
|                 ?><div class="swiper-slide"><img loading="lazy" src="<?php echo $item['thumbnail_url']; ?>" alt="<?php echo strip_tags($item['alt']); ?>" /></div><?php
 | |
|             }
 | |
|         ?>
 | |
|     </div>
 | |
|     <?php if ($show_thumbnails_arrows): ?>
 | |
|     <div class="swiper-button-next"></div>
 | |
|     <div class="swiper-button-prev"></div>
 | |
|     <?php endif; ?>
 | |
| </div>
 | |
| <?php endif; ?>
 | |
| 
 | |
| <?php
 | |
| if ($lightbox)
 | |
| {
 | |
|     $layout = new FileLayout('glightbox', JPATH_PLUGINS . '/system/nrframework/layouts/widgets/gallery/default');
 | |
|     echo $layout->render($displayData);
 | |
| }
 | |
| ?>
 |