Action: Gallery
|
Compatible with: R6.1 Moved to core, except the lightbox. |
{{gallery}}
1. Description
Gallery action allows you to create a photo gallery with small pictures, linked to larger versions. Gallery uses standard WackoWiki file model.
2. Requirements
- PHP 8.0 and GD 2.2+
- PHP Thumb Library
- folder
file/thumbandfile/thumb_local
3. Configuration
- Admin Panel settings
-
img_create_thumbnail -
img_max_thumb_width
-
- make the tumbs folders writable
chmod 0755 file/thumb/ file/thumb_local/
3.1. PhotoSwipe
see gallery.php
// Include Lightbox import PhotoSwipeLightbox from '{$this->db->base_path}js/photoswipe/photoswipe-lightbox.esm.min.js'; import PhotoSwipeDynamicCaption from '{$this->db->base_path}js/photoswipe/photoswipe-dynamic-caption-plugin.esm.min.js'; const lightbox = new PhotoSwipeLightbox({ // may select multiple "galleries" gallery: '#gallery--$param_token', // Elements within gallery (slides) children: 'a', // setup PhotoSwipe Core dynamic import pswpModule: () => import('{$this->db->base_path}js/photoswipe/photoswipe.esm.min.js') }); const captionPlugin = new PhotoSwipeDynamicCaption(lightbox, { // Plugins options, for example: type: 'auto', captionContent: '.pswp-caption-content', }); lightbox.init();
4. Download
- optional (for lightbox)
- photoswipe_5.4.4.zip (add here:
js/photoswipe/)- PhotoSwipe — JavaScript image gallery and lightbox
- photoswipe.css
- photoswipe.esm.min.js
- photoswipe-lightbox.esm.min.js
- Caption plugin
- photoswipe-dynamic-caption-plugin.css
- photoswipe-dynamic-caption-plugin.esm.min.js
- PhotoSwipe — JavaScript image gallery and lightbox
- photoswipe_5.4.4.zip (add here:
5. Installation
- Unpack and copy PhotoSwipe to js/photoswipe/ directory (optional)
6. Using
Then you call action {{gallery}} with params:
[page = "page_tag"] - call image from another page[global = 1] - show global files[perrow = <Number of images per rows> ] (default = 3)[caption = 1|2] - show 1 file descriptions, 2 file caption[title = "Gallery"] - album title[target = 1|2] - show large images without page (0 - inline (default) , 1 - image, 2 - lightbox)[nomark = 1] - hide external border[table = 1] - pictures in table[order = "time|name_desc|size|size_desc|ext"][owner = "UserName"][max = number]6.1. Lightbox
Set the parameter target=2 to use the lightbox.

The lightbox only works if the user allows JavaScript in their browser, otherwise it would load the image directly in a new tab.
6.2. Examples
{{gallery table=1 target=2 title="local pictures"}}
7. Changelog
0.1 Intitial version
0.7 Updated to work with R.6.1 (PHP 8.0, Null coalescing assignment operator)
0.8 added order="name_desc" and changed time field names
0.9 added support for PhotoSwipe
0.10 moved action to core
8. ToDo
-
add it to the coreDONE
9. Links
- gallery action
- PHP Thumb Library (part of distribution)
- PhotoSwipe [MIT License]
9.1. Lightbox Alternatives
Others