ProcessListerSelector by Robin S

A Process module that uses Lister/ListerPro, but with a selector string input instead of the normal InputfieldSelector filters.

Lister Selector

A Process module that uses Lister/ListerPro, but with a selector string input instead of the normal InputfieldSelector filters.

Features


  • For power users, typing a selector string is often faster and more intuitive than fiddling with InputfieldSelector. It also lets you copy/paste selector strings that you might be using somewhere else in your code.
  • Allows the Lister rows to be sorted by multiple fields (not possible in Lister/ListerPro)
  • Allows the use of OR-groups (not possible in Lister/ListerPro)
  • If ListerPro is installed you can run ListerPro actions on the listed pages - the available actions are defined in the module config.
  • Bookmarks can be configured in the module config and accessed via the flyout menu for the module page. For your convenience you can copy/paste a bookmark string from the note at the bottom of the Lister Selector results.

Usage


  • Type your selector string on the Selector tab. The selector is applied when the "Selector string" field is blurred, so hit Tab when you have finished typing your selector.
  • Unlike Lister/ListerPro, you can't sort results by clicking the column headings. Control the sort within the selector string instead.
  • Superusers can jump to the module config (e.g. to create a bookmark) by clicking the cog icon at the top right of the module interface.
  • The module is mostly intended for use by superusers, because in most cases site editors won't understand the ProcessWire selector string syntax. If you want another role to be able to access Lister Selector then give the role the "lister-selector" permission. Only superusers can define bookmarks because in ProcessWire module config screens are only accessible to superusers.

Screenshots


Process page

lister-selector

Module config (when ListerPro is installed)

lister-selector-config

Advanced


If for any reason you want to create dynamic bookmark links to Lister Selector for a given selector you can do that like this:

/** @var $pls ProcessListerSelector */
$pls = $modules->get('ProcessListerSelector');
// Define selector
$selector = "template=foo, title%=bar";
// Define columns (optional)
$columns = 'title,modified';
$pls_link = $pls->getProcessPage()->url . '?bm=' . $pls->urlSafeBase64Encode($selector . ':' . $columns);
echo "<a href='$pls_link'>My link</a>";

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

Twitter updates

  • This week we focus in on a new and unique Inputfield module added to the core that enables a lot of useful new input capabilities for tags, sortable multiple selection and custom user input— More
    30 April 2021
  • With more than 25 commits, ProcessWire 3.0.176 resolves lots of minor issues, adds support for multiple randomly selected read-only database connections, upgrades the tag features in the Template editor, adds a useful new Tags Inputfield, and more… More
    23 April 2021
  • This week ProcessWire (3.0.175) gained the ability to maintain separate read-only and read-write database connections to optimize scalability, cost and performance. The post covers why this can be so valuable and how to configure it in ProcessWire— More
    2 April 2021

Latest news

  • ProcessWire Weekly #364
    In the 364th issue of ProcessWire Weekly we'll introduce ProcessWire 3.0.177, check out a couple of new third party modules, and more. Read on!
    Weekly.pw / 1 May 2021
  • ProcessWire 3.0.177 core updates
    This week we focus in on a new and unique Inputfield module added to the core that enables a lot of useful new input capabilities for tags, sortable multiple selection and custom user input.
    Blog / 30 April 2021
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer