* * This file is part of a Moko Consulting project. * * SPDX-License-Identifier: GPL-3.0-or-later * * FILE INFORMATION * DEFGROUP: MokoOnyx.Override * INGROUP: MokoOnyx * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx * PATH: /html/com_joomgallery/gallery/default.php * VERSION: 02.10.00 * BRIEF: Gallery view override — main image grid with masonry/justified layout */ // No direct access defined('_JEXEC') or die; use Joomla\CMS\Router\Route; use Joomla\CMS\Language\Text; use Joomla\CMS\Layout\LayoutHelper; // Image params $image_type = $this->params['configs']->get('jg_gallery_view_type_image', 'thumbnail', 'STRING'); $gallery_class = $this->params['configs']->get('jg_gallery_view_class', 'masonry', 'STRING'); $num_columns = $this->params['configs']->get('jg_gallery_view_num_columns', 3, 'INT'); $image_class = $this->params['configs']->get('jg_gallery_view_image_class', 0, 'INT'); $justified_height = $this->params['configs']->get('jg_gallery_view_justified_height', 200, 'INT'); $justified_gap = $this->params['configs']->get('jg_gallery_view_justified_gap', 5, 'INT'); $image_link = $this->params['configs']->get('jg_gallery_view_image_link', 'defaultview', 'STRING'); $lightbox_image = $this->params['configs']->get('jg_category_view_lightbox_image', 'detail', 'STRING'); $browse_categories_link = $this->params['configs']->get('jg_gallery_view_browse_categories_link', 1, 'INT'); // Import CSS & JS $wa = $this->document->getWebAssetManager(); $wa->useStyle('com_joomgallery.site'); $wa->useStyle('com_joomgallery.jg-icon-font'); if ($gallery_class == 'masonry') { $wa->useScript('com_joomgallery.masonry'); } if ($gallery_class == 'justified') { $wa->useScript('com_joomgallery.justified'); $wa->addInlineStyle('.jg-images[class*=" justified-"] .jg-image-caption-hover { right: ' . $justified_gap . 'px; }'); } $lightbox = false; if ($image_link == 'lightgallery') { $lightbox = true; $wa->useScript('com_joomgallery.lightgallery'); $wa->useScript('com_joomgallery.lg-thumbnail'); $wa->useStyle('com_joomgallery.lightgallery-bundle'); } // Initialise the grid script $iniJS = 'window.joomGrid = {'; $iniJS .= ' itemid: ' . $this->item->id . ','; $iniJS .= ' pagination: 0,'; $iniJS .= ' layout: "' . $gallery_class . '",'; $iniJS .= ' num_columns: ' . $num_columns . ','; $iniJS .= ' lightbox: ' . ($lightbox ? 'true' : 'false') . ','; $iniJS .= ' justified: {height: ' . $justified_height . ', gap: ' . $justified_gap . '}'; $iniJS .= '};'; $wa->addInlineScript($iniJS, ['position' => 'before'], [], ['com_joomgallery.joomgrid']); $wa->useScript('com_joomgallery.joomgrid'); ?>