83 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package         Advanced Custom Fields
 | |
|  * @version         2.8.8 Pro
 | |
|  * 
 | |
|  * @author          Tassos Marinos <info@tassos.gr>
 | |
|  * @link            http://www.tassos.gr
 | |
|  * @copyright       Copyright © 2019 Tassos Marinos All Rights Reserved
 | |
|  * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 | |
| */
 | |
| 
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| if (!$gallery_data = $field->value)
 | |
| {
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| require_once JPATH_SITE . '/plugins/fields/acfgallery/fields/helper.php';
 | |
| 
 | |
| if (is_string($gallery_data) && !$gallery_data = json_decode($gallery_data, true))
 | |
| {
 | |
|     return;
 | |
| }
 | |
| 
 | |
| $gallery_items = isset($gallery_data['items']) ? $gallery_data['items'] : [];
 | |
| 
 | |
| $style = $fieldParams->get('style', 'grid');
 | |
| $style = ACFGalleryHelper::getStyle($style);
 | |
| 
 | |
| $payload = [
 | |
|     'items' => ACFGalleryHelper::prepareItems($gallery_items),
 | |
|     'ordering' => $fieldParams->get('ordering', 'default'),
 | |
|     'lightbox' => $fieldParams->get('lightbox', '0') === '1',
 | |
|     'module' => $fieldParams->get('module', ''),
 | |
|     'justified_item_height' => $fieldParams->get('justified_item_height'),
 | |
|     'thumb_width' => $fieldParams->get('thumb_width', ''),
 | |
|     'thumb_height' => $style === 'grid.svg' ? $fieldParams->get('thumb_height', '0') : null,
 | |
|     'style' => $style,
 | |
|     'columns' => $fieldParams->get('devices_columns.columns', []),
 | |
|     'gap' => $fieldParams->get('devices_gap.gap', []),
 | |
|     // tags
 | |
|     'tags_position' => $fieldParams->get('tags.position', 'disabled'),
 | |
|     'tags_ordering' => $fieldParams->get('tags.ordering', 'default'),
 | |
|     'all_tags_item_label' => $fieldParams->get('tags.all_tags_item_label', 'All'),
 | |
|     'tags_mobile' => $fieldParams->get('tags.mobile', 'show'),
 | |
|     'tags_text_color' => $fieldParams->get('tags.text_color', '#555'),
 | |
|     'tags_text_color_hover' => $fieldParams->get('tags.text_color_hover', '#fff'),
 | |
|     'tags_bg_color_hover' => $fieldParams->get('tags.bg_color_hover', '#1E3148')
 | |
| ];
 | |
| 
 | |
| // Set custom layout
 | |
| if ($field->params->get('acf_layout_override'))
 | |
| {
 | |
| 	$payload['layout'] = $field->params->get('acf_layout_override');
 | |
| }
 | |
| 
 | |
| $widgetName = $style === 'slideshow' ? 'Slideshow' : 'Gallery';
 | |
| 
 | |
| // Add Slideshow-related payload
 | |
| if ($style === 'slideshow')
 | |
| {
 | |
|     $payload = array_merge($payload, [
 | |
|         'lightbox' => $fieldParams->get('slideshow_lightbox', '0') === '1',
 | |
|         'module' => $fieldParams->get('slideshow_module', ''),
 | |
|         'ordering' => $fieldParams->get('ordering', 'default'),
 | |
|         'slides_per_view' => $fieldParams->get('slides_per_view', ['desktop' => 1]),
 | |
|         'space_between_slides' => $fieldParams->get('space_between_slides', ['desktop' => 10]),
 | |
|         'infinite_loop' => $fieldParams->get('infinite_loop', '0') === '1',
 | |
|         'keyboard_control' => $fieldParams->get('keyboard_control', '0') === '1',
 | |
|         'autoplay' => $fieldParams->get('autoplay', '0') === '1',
 | |
|         'autoplay_delay' => $fieldParams->get('autoplay_delay', 3000),
 | |
|         'autoplay_progress' => $fieldParams->get('autoplay_progress', '0') === '1',
 | |
|         'show_thumbnails' => $fieldParams->get('show_thumbnails', '0') === '1',
 | |
|         'show_thumbnails_arrows' => $fieldParams->get('show_thumbnails_arrows', '0') === '1',
 | |
|         'nav_controls' => $fieldParams->get('nav_controls', 'none'),
 | |
|         'theme_color' => $fieldParams->get('theme_color', '#333'),
 | |
|         'transition_effect' => $fieldParams->get('transition_effect', 'slide')
 | |
|     ]);
 | |
| }
 | |
| 
 | |
| echo \NRFramework\Widgets\Helper::render($widgetName, $payload); |