An Image Slider builder for the ProcessWire CMS/CMF.
This module installs a new Admin page that lets you create multiple image sliders to embed on the site. In short it is a builder for the Jssor Slider plugin. This module is composed by three different Modules:
- ProcessSlider The main module. It adds a new page, called Process Slider, under the Setup menu that allows the creation of multiple sliders. Each slider is stored in the table
slider, created during the installation process.
- FieldtypeSlider/InputSlider This module creates a new field in ProcessWire that lets you select a slider to embed inside a page.
- MarkupSlider This module translates the slider code into Jssor compatible markup and optionally generates the initialization script.
Important: the module is in early alpha stage.
ProcessWire >= 2.5.5because it uses the new ProcessWire module configuration. See https://processwire.com/blog/posts/new-module-configuration-options/
- Custom slider size
- Drag and Drop interface
- Move and resize elements
- Slides background with images from existing PW pages
- Slider Preview (with the provided MarkupSlider module)
- Predefined or custom style classes for elements
- Add or remove slides
- Add or remove elements
- Change slides order visually
- Jssor skins and bullets support
- Visual Timeline
- Optional responsive/fullwidth slider
- Predefined elements: Images, Text, Links, Image as link, Div blocks, Youtube Videos
- Animation Options (for In and Out): animation type, delay, duration
- Notification messages
- Place the module files in /site/modules/ProcessSlider/
- In admin, click Modules > Check for new Modules
- Click "Install" for ProcessSlider
- Click "Install" for FieldtypeSlider. The module will install also InputfieldSlider.
- Click "Install" for MarkupSlider.
- Create a new folder in /site/modules/ProcessSlider/ and call it
jssor. Download the Jssor library from http://jssor.com/download.html and place the content of the ZIP file in it. The module uses only the files in the
- Now go to Setup > Fields and create a new Slider field. Add it to your template.
- Now go to Setup > Process Slider and start create your image Sliders.
- Finally you can add your slider to the page.
The modules provide some space for customization.
After installing this module, you can specify a CSS file for styling the slider elements. The default file is
process-slider-items.css and is located in the /site/modules/ProcessSlider/builder/css folder.
If you prefer to use your file you have to add also the class names to the
Custom Classes textarea, otherwise they will not be available in the builder.
Since Jssor doesn't include single CSS files for all the Arrows and Bullets styles, I made them available in the folder /site/ProcessSlider/builder/css/.
In your template you can instantiate the module like the following:
$slider = $modules->get('MarkupSlider');
Insert the stylesheets in
echo $slider->getStyles($arrows = false, $bullets = false);
if your slider uses arrows or bullets, set to true the corresponding boolean.
Output the slider:
echo $slider->render($page->get('slider'), $includeScript = true, $options = array())
This function inserts, in sequential order, the following elements:
- the Jssor library from the ProcessSlider/jssor/js folder
- the transitions (
- the slider markup
- the initialization script
You can provide some options as third parameter. In fact
$options is an array that overrides some of the Jssor options defined in the admin page when including the initialization script.
The options available for this parameter are:
Transitions: comma-separated string of Jssor slide transitions
Otherwise if you prefer to provide a personal initialization script you can set
false and ignore the third parameter.
The ProcessSlider module doesn't support IE < 9.
Things I want to implement in the following versions:
- Save and restore unsaved data from localStorage
- Implement item and slide cloning
- Expand configurable options
- Drop jQuery for resize and drag&drop features
I would like to thank the entire ProcessWire community and in particular Ryan Cramer for his amazing work. Also part of this module is based on his Hanna Code module.
Licenced under MIT. See LICENSE.
Have fun with the code.