Jump to content

Lister Pro


Peter Knight

Recommended Posts

Until I bought Lister Pro, I did not fully realize how much it could increase your productivity. Working with the tree (or using the built-in search engine for quicker access) is intuitive, and I'd say fast enough in most cases, but it's a one-size-fits-all solution. With the tree, there's no easy way to group pages under different parents, or search for pages that fit one or more criteria and view and edit them quickly. Since Lister Pro is a customizable search engine, you can target with precision which criteria you'd like to use to return the pages you'd like to view and/or edit. In a few clicks, I can set up my own results in a easy-to-scan table view. You can save these results, and they show up under the "Pages" dropdown menu for quick access, which for me wasn't clear from Ryan's description of the plugin. This is incredibly powerful. Let's take an example.

Let's say I run an Website showing cultural events across the US, organized by cities (New York, Washington, DC, etc.) and categories (Music, Performing arts, etc.). I have various editors. One of them would like to view only the events he's been assigned to, e.g. all music events created this year in Washington, DC. I can easily create a customizable admin view for him:

post-192-0-40668400-1413279223_thumb.png

The results look like this (the columns can be adjusted to your needs of course, and the editor can also filter the results even further):

post-192-0-73987200-1413279311_thumb.png

The editor has super quick access to his own "admin view" from here (I've called this page "Recent events" in this example):

post-192-0-42541400-1413279471_thumb.png

I can go ahead and create various views for each of my editors. If I work alone, I can do the same to gain quick create, view and/or edit access to whatever views I choose. I hope you can see the power of this module, and I'm not even talking about the included actions that let you manipulate the results, such as email users, exporting to CVS (very useful to export results for offline data analysis in Excel), etc.   

  • Like 13
Link to comment
Share on other sites

@jacmaes

One wouldn't even need the Pro Version to do this. If you don't need the flexibility to set this up in the admin backend, you can easily fork the existing ProcessUser module, to get what you described.

Or for dirt cheap (price of 2 pizzas for single version) buy the Pro Version to support the development of ProcessWire :P . From jacmaes description, he certainly needs the flexibility :) ....just sayin'...

Link to comment
Share on other sites

@jacmaes

One wouldn't even need the Pro Version to do this. If you don't need the flexibility to set this up in the admin backend, you can easily fork the existing ProcessUser module, to get what you described.

Yes, I know you can put a module together to achieve something similar, but (1) it's much faster and easier to do it with Lister Pro, (2) it's more flexible, and (3) I do want to support the development of Processwire, which has become an indispensable tool for me, and a pleasure to use. I don't really need other pro modules such as Form Builder (it's not too hard to build forms from the API) o the Pro Fields (regular fields are sufficient most of the time), but they do add simplicity, convenience and enhance productivity -- which is one reason why I bought these other two modules. Another important reason is because I'd like Ryan to keep dedicating as much time as possible to PW development, and these are just small tokens of my gratitude to his dedication, amazing work and constant willingness to help others. And finally, I'll take this opportunity to thank the other forum moderators and contributors who keep this community so alive and friendly, and keep beefing up PW funcionality with new modules.

In any case, LostKobrakai, I know you meant to highlight PW's flexibility (you can build your own modules to add funcionality), and not discourage people from buying the Pro modules.

  • Like 6
Link to comment
Share on other sites

@kongondo

I don't want do discurage buying pro modules, especially if you earn money with it. But for private/small websites, this can be an option, which I wanted to highlight. 

There are also other reasons to buy the pro version.

I get you and I agree there are options worth highlighting for various use cases :-)

Link to comment
Share on other sites

I completely agree Jacmaes, my only regret is that for the past 12 months or so sites I build tend to either be very simple and where this would be overkill for content editors or complex applications where the backend is hardly ever used.

Would love to get an opportunity to work with it on a site.

Link to comment
Share on other sites

  • 2 weeks later...

Is it possible to show parent properties? I have a template "product" which has a parent "products". This parent has a "location" field. I want to show all the pages with the template "product" but also the parent title (seems possible) and the parent field "location".

I.e.: 

|Title|Category|Location| // header row (page.title, parent.title, parent.location)
|Plain shirt|T-shirts|3A| // product
|Blue jeans|Jeans|4C| // product
|Wireban|Sunglasses|1D| // product
Link to comment
Share on other sites

  • 7 months later...

Any chance for a frontend filter that would be customizable through the same Lister Pro Module?

I would like this too! I am trying to build a front end filter. I just bought the Form Builder for this purpose, but so far I have not found out how to make the form search for pages in my site, and output those that fit the criteria in the search form, like Lister does.

If you can point me in the right direction, I would be very grateful!

Link to comment
Share on other sites

@Macrura that link looks like it could be good. Ideally only the search filters would show on my page (no table display before form is posted) initially, then on hitting 'search', the pages matching search criteria would appear in a nice table.

What I want to do is pretty much identical to the front end filter on Ryan's skyscrapers profile. 

I will mess around with jQuery DataTables, custom select fields, and Chosen Select, as you suggest. Thanks again!

Link to comment
Share on other sites

How many items do you have? If not so many (maximum 30-50), perhaps you could add extra "filter classes" to the items so you could simply hide/show them. If you have much more items and a pagination then this is not an option.

Link to comment
Share on other sites

@tpr The scenario I'm trying to work out currently has 140 entries, but that will increase to around 600 or so I expect.

BUT there is another scenario I would like to use filters for, and that will only have about 30-50 entries. Another thing for me to investigate: filter classes. I have not heard of them before. I currently have all the classes created that I would want to filter by - are filter classes an extra field I would have to relate to the existing classes?

Thanks, @tpr!

Link to comment
Share on other sites

@Macrura that link looks like it could be good. Ideally only the search filters would show on my page (no table display before form is posted) initially, then on hitting 'search', the pages matching search criteria would appear in a nice table.

What I want to do is pretty much identical to the front end filter on Ryan's skyscrapers profile. 

I will mess around with jQuery DataTables, custom select fields, and Chosen Select, as you suggest. Thanks again!

@kathep -

for that # of listings, datatables might be the easiest, quickest way to do this; at least that's how i would do it, since i don't know how to use listerpro in the frontend (not saying it can't work, but have never considered it)...

DataTables just kind of works out of the box and you would only need to output your table from PW and initialize dt; however i would say that you'll have to know a little javascript to get it to all work; you may need to also use a plugin for the select filters, in case you don't want to generate your own.

if you init a html table, then it will start with all table data paginated;  but if you wanted to have no records show until a filter is selected, then you could load the data from ajax and then use deferLoading; this would start you out with an empty table and load on callback after the filter change.

Link to comment
Share on other sites

BUT there is another scenario I would like to use filters for, and that will only have about 30-50 entries. Another thing for me to investigate: filter classes. I have not heard of them before. I currently have all the classes created that I would want to filter by - are filter classes an extra field I would have to relate to the existing classes?

That depends on your current setup. If your categories are unique and provide the exact same relations that you need in your filter, then you could use them as classes too. Eg. if some items are children of "cars" page and others are children of "trains", then you could use classes like 'class="<?php echo $page->parent->name ?>"'.

Otherwise yes, I would add an extra field to store these classes. This would make it more scalable.

Here is a similar technique used in UIkit (note that it is only to demonstrate how it works - hide/show items if the item has the selected categories):

http://getuikit.com/docs/grid-js.html#sort2

Link to comment
Share on other sites

@Macrura and @tpr Thank you!

@tpr Yes, my categories are unique, so this could work. I'll give it a try.

DataTables just kind of works out of the box and you would only need to output your table from PW and initialize dt; however i would say that you'll have to know a little javascript to get it to all work; you may need to also use a plugin for the select filters, in case you don't want to generate your own.

if you init a html table, then it will start with all table data paginated;  but if you wanted to have no records show until a filter is selected, then you could load the data from ajax and then use deferLoading; this would start you out with an empty table and load on callback after the filter change.

Hmm, good solution. I might know enough javascript to get it to work. I'll post my progress (wiil take me a while)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...