ProcessWire Weekly #529

In the 529th issue of ProcessWire Weekly we'll check out the latest weekly update from Ryan, introduce a new third party module from update AG, and more. Read on!

Welcome to the latest issue of ProcessWire Weekly. In this week's issue we're going to check out the latest weekly update and blog post from Ryan, in which he introduces a very interesting new module that he's just released: Page List Custom Children.

There's also another module that we're going to introduce this week: UpdMostViewed, a module for tracking page views and most viewed pages, created by update AG. And, as always, we're also going to highlight a new site of the week — one that belongs to a German IT consulting company called IT Risch.

Thanks to all of our readers for being here with us again, and as always, any feedback is most welcome – please don't hesitate to drop us a line if there's anything in your mind you'd like to share with us. Enjoy our latest issue and have a great weekend!

Weekly update from Ryan: introducing the Page List Custom Children module

This week there have been just a couple of relatively minor core updates — just some phpdoc adjustments and an update for Lister to improve the logic related to the spinner feature. That being said, we do have a new weekly update and blog post from Ryan, in which he introduces a new module called Page List Custom Children.

Quick peek at the Page List Custom Children module

As Ryan explains in his weekly update, Page List Custom Children was originally created for a client that wanted to have certain pages live in multiple locations in the page tree, so as to make them easier to locate. As we know this is not possible right out of the box; a page is in one place within the hierarchy, not in multiple locations — but with Page List Custom Children, it is now very easy to do.

Screenshot by Ryan of an admin view where Page List Custom Children is being used to display tours under multiple branches of the page tree.

The way you can achieve that using this module is by stating in the module configuration settings that you want to display certain pages under a specific parent. Your configuration string might look something like this:

template=category >> parent=/blog/posts,

This essentially says that under pages that use template "category", you want to display pages that live under /blog/posts/ and have that category selected in the "categories" field. Note that if the category page has children of its own, this selector will essentially replace them in the admin; to display both "real" and "fake" (or custom) children, you can adjust the selector and make use of OR groups:

template=author >> (parent=/blog/posts,, (

In addition to displaying pages in specified location, the module will also automatically adjust the "new" link/button in the admin, so that when you create a page under one of it's "fake parents", it'll still go to the correct location — and, in our example case here where posts are displayed under categories, a new post added under specific category would also automatically get correct category applied to it!

There's a more detailed example in the blog post introducing the Page List Custom Children module, so be sure to check it out as well. Thanks!

New module: UpdMostViewed

UpdMostViewed is a newly released third party module from update AG. In a nutshell this module makes it possible to track page views and easily list most viewed pages during specified time range.

This module has two modes available for tracking page views: manual tracking mode, where you record page views using the module's API, and automatic tracking mode, where the module takes care of everything by itself. Via configuration settings you can exclude pages and IP addresses, define templates and user roles to be tracked, and even enable automatic exclusion of page views generated by crawlers.

There is a simple API for recording page views and getting most viewed pages:

  • $modules->get('UpdMostViewed')->writePageView($page) to record a page view for a specific page.
  • $modules->get('UpdMostViewed')->getMostViewedPages() to get an array of most viewed pages, with an optional options array where you can specify the templates to include, limit for returned items, and the time range you want to get views for.

For more details, be sure to check out the UpdMostViewed modules directory entry.

If you'd like to give this module a try, you can clone or download the module's source code from the UpdMostViewed GitHub repository, install it via the modules manager in admin, or install it via Composer. If you have questions or require additional assistance, head down to the UpdMostViewed support forum thread.

Big thanks to the folks at update AG for creating this module and sharing it with us!

Site of the week: IT Risch

Our latest site of the week belongs to IT Risch, a consulting company providing personalized full service IT management solutions for their clients: on-site IT services, security, infrastructure, cloud solutions, and more. The company was founded back in 2014, and they are based in Freising, Germany.

The website of IT Risch is (obviously) powered by ProcessWire, and it was created by typneun Designagentur. This site has a very nice design with some unique visual features, the typography is top-notch, and there are plenty of photographs that very nicely liven things up. All in all site is definitely easy to grasp and enjoyable to use, and also performs exceptionally well in terms of response times.

As for behind the scenes details, there's not a whole lot we can say here. The front-end is not based on a full-blown third party front-end framework, but rather appears to be a custom-built solution, with some familiar third party dependencies, such as PhotoSwipe and Slick. As for ProcessWire modules, there's only one that we could spot on this site: the commercial form management solution FormBuilder.

Thanks to the folks at typneun Designagentur for sharing this project with us, and our congratulations to the client, IT Risch, for their new, ProcessWire powered website. Splendid work from everyone involved in this project!

Stay tuned for our next issue

That's it for the 150th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 5th of July. As always, ProcessWire newsletter subscribers will get our updates a few days later.

Thanks for staying with us, once again. Hope you've had a great and productive week, and don't forget to check out the ProcessWire forums for more interesting topics. Until next week, happy hacking with ProcessWire!

Post a comment