Template::getRoles() method

Get the role pages that are part of this template

  • This method returns a blank PageArray if roles haven’t yet been loaded into the template.
  • If the roles have previously been loaded as an array, then this method converts that array to a PageArray and returns it.
  • If you make changes to returned roles, make sure to set it back to the template again with setRoles(). It’s preferable to make changes with addRole() and removeRole() methods instead.


// basic usage
$items = $template->getRoles();

// usage with all arguments
$items = $template->getRoles(string $type = 'view');


type (optional)string

Default is 'view', but you may also specify 'edit', 'create' or 'add' to retrieve those.

Return value


of Role objects.


Method can throw exceptions on error:

  • WireException - if given an unknown roles type

Template methods and properties

API reference based on ProcessWire core version 3.0.130

Twitter updates

  • New post: ProcessWire 3.0.131 adds support for partial/resumable downloads and http stream delivery, and contains several updates to our comments system, among other updates— More
    3 May 2019
  • New post: Quietly and without interruption this week, the ProcessWire.com website (and all subdomains) moved from a single static server to a load-balanced multi-server environment, giving us even more horsepower and redundancy than before— More
    19 April 2019
  • New post: With ProcessWire 3.0.130, this week we’ll take a detailed look at a few useful new API additions made in the last few weeks, along with examples of each—More
    12 April 2019

Latest news

  • ProcessWire Weekly #262
    The 262nd issue of ProcessWire Weekly will cover the latest module updates, both Pro modules and non-commercial ones. We've also got some highlights from the support forum, and a beautiful new site of the week. Read on!
    Weekly.pw / 18 May 2019
  • Lots of module updates
    In this post we take a quick look at the new version of ProFields Repeater Matrix, yet another new version of FormBuilder, and a new version of the GoogleClientAPI module.
    Blog / 17 May 2019
  • 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