ProcessPageListerUrls by martijn-geerts

Link to listerpages with predefined settings.

ProcessPageListerUrls

Create links to specific ListerPages with predefined selector, column and sort settings.

What the Module does

This module is intended to be used as helper module within your own modules. The module allows you to create “runtime” bookmarks for ListerPages.

The url() method will build an URL and will redirect you to a specific List Page with predefined select, column and sort settings.

The url method has 5 parameters:

  1. $ListerPage, Page, Required value, the page where the lister lives.
  2. $initSelector, String or empty string, The init selector of the lister.
  3. $defaultSelector, String or empty string, The default selector of the lister.
  4. $columns, array or empty, plain array with fieldnames.
  5. $defaultSort String, Where to sort on.

API usage

// Listerpage, the destination.
$listerPage      = $pages->get(1234);
$initSelector    = 'template=basic-page';
$defaultSelector = 'title!=ProcessWire, parent.id>1234';
$columns         = array('title', 'template', 'parent', 'modified');
$defaultSort     = 'modified';

// Get the instance and build the URL. You need only 1 instance to create multiple URLs.
$plus = $modules->get('ProcessPageListerUrls');
$url = $plus->url($listerPage, $initSelector, $defaultSelector, $columns, $defaultSort);

About the URL

The builded URL is encoded using openssl_encrypt, abstracted and cut in get variables with a max length of 256. This way the client can't manually change the url, so it is save to use init selector.

Be aware

Be aware that the runtime bookmarks will change settings in your lister config. When you enter the config after using ProcessPageListerUrls and save the lister those settings are also saved, this is the 'nature' of ListerPro

Thanks

  • Thanks to Arjen Blokzijl for support & testing
  • Thanks to Ryan Cramer

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • ProcessWire 3.0.182 core updates– More
    23 July 2021
  • ProcessWire 3.0.181 has fixes and improvements as usual, but the biggest addition is a nice pull request for multi-language module translations, plus major updates to our Helloworld and ProcessHello demonstration modules. This post covers it all— More
    2 July 2021
  • ProcessWire 3.0.180 core updates– More
    18 June 2021

Newest forum posts

Latest news

  • ProcessWire Weekly #376
    In the 376th issue of ProcessWire Weekly we'll cover the latest core updates, two new third party modules for ProcessWire, and more. Read on!
    Weekly.pw / 24 July 2021
  • ProcessWire 3.0.181 core updates + “Hello World”
    ProcessWire 3.0.181 has fixes and improvements as usual, but the biggest addition is a nice pull request from LostKobrakai, plus major updates to our Helloworld and ProcessHello demonstration modules. This post covers it all.
    Blog / 2 July 2021
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK