Gallery
Displays images for the Gallery field type (e.g. ACF Gallery field).
In Advanced Views, if you add a Gallery field to your Layout it will display the list of images in the default layout. In Pro you’ll be able to change the Gallery Layout to Masonry plus the option to enable the Lightbox with slider options.
Note: For the Masonry Gallery Layout to work you’d need to ensure that the Return Format is set to Image Array or Image ID. Choosing the Image URL doesn’t provide the necessary image dimensions.
How to use it
Edit or add a new Layout.
Select the Group containing the gallery field.
Select the Gallery field from the Field dropdown, and select the Image Size.
Grid Layout

The CSS grid feature is the easiest way to display Gallery images in a grid.
The example code below shows how to set this up. Change '2' to your desired number of columns in the grid-template-columns rule, and adjust the gap, which controls the space between items, from 20px to your preferred value:
Twig template:
{% if gallery.value %}
<div class='acf-view__gallery'>
{% for image_item in gallery.value %}
<img class='acf-view__image' src="{{ image_item.value }}"
width="{{ image_item.width }}" height="{{ image_item.height }}" alt="{{ image_item.alt }}"
decoding="{{ image_item.decoding }}" loading="{{ image_item.loading }}"
srcset="{{ image_item.srcset }}" sizes="{{ image_item.sizes }}">
{% endfor %}
</div>
{% endif %}CSS code:
#view__gallery {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}
@media screen and (min-width:992px) {
#view__gallery {
grid-template-columns: repeat(2, 1fr);
}
}Masonry Layout (Pro)
From the Gallery layout dropdown, select the Classic or Flat masonry option and press the Update button.
The Classic masonry employs the Macy.js, while Flat uses a Flat Masonry script from Lightsource.
Optional: After saving, switch to the CSS & JS tab, and fine-tune the instance settings:
Macy.js

In the Masonry instance settings, you can fine-tune the number of columns, the gap between items (margin), and the responsive behavior. Check the Macy.js documentation to learn more.
var gallery = this.querySelector('.acf-view__gallery');
if (gallery) {
/* https://github.com/bigbite/macy.js */
new Macy({
container: gallery,
columns: 4,
margin: {
x: 0,
y: 0,
},
breakAt: {
992: 2,
400: 1,
},
});
}Flat Layout

The flat masonry is a simple script, which offers only the basic settings, including gap between items and min-row height:
var gallery = this.querySelector('.acf-view__gallery');
if (gallery) {
/* https://gitlab.com/lightsource/masonry */
new AcfViewsMasonry(
gallery,
{
ROW_MIN_HEIGHT: 180,
GUTTER: 20,
MOBILE_GUTTER: 10,
MOBILE_WIDTH: 992,
}
);
}Inline-carousel Layout (Pro)

From the Gallery layout dropdown, select the Inline-Gallery option and press the Update button.
Optional: After saving, switch to the CSS & JS tab, and fine-tune the instance settings:
var gallery = this.querySelector('.acf-view__gallery');
if (gallery) {
var container = document.createElement('div');
container.classList.add('acf-view__inline-gallery');
gallery.parentElement.insertBefore(container, gallery);
/* https://www.lightgalleryjs.com/docs/settings/#lightgallery-core */
new lightGallery(gallery, {
container: container,
showMaximizeIcon: true,
download: true,
enableDrag: false,
allowMediaOverlap: false,
closable: false,
plugins: [window.lgThumbnail,],
}).openGallery();
}Images slider (Pro)

From the Enable slider dropdown, select the Splide option and press Update. This option employs the Splide library, with the following defaults:
var gallery = this.querySelector('.acf-view__gallery');
if (gallery) {
/* https://splidejs.com/guides/options/ */
new Splide(gallery, {
type: 'loop',
perPage: 1,
perMove: 1,
}).mount();
}Lightbox (Pro)

Lightbox shows a zoom icon on image hover and allows readers to click and open an image in full-screen mode and switch between items if there are others.
From the Enable lightbox dropdown, select the LightGallery or Simple (no settings) option and press Update. The LightGallery option employs the LightGallery library, and has the following defaults:
var gallery = this.querySelector('.acf-view__gallery');
if (gallery) {
/* https://www.lightgalleryjs.com/docs/settings/#lightgallery-core */
new lightGallery(gallery, {
closeOnTap: true,
counter: true,
download: false,
allowMediaOverlap: false,
enableDrag: false,
plugins: [window.lgThumbnail,],
});
}FAQs
Last updated