PagesType class

Provides an interface to the Pages class but specific to a given page class/type, with predefined parent and template.

This class is primarily used by the core as an alternative to $pages, providing an API for other Page types like User, Role, Permission, and Language. The $users, $roles, $permissions and $languages API variables are all instances of PagesType. This class is typically not instantiated on its own and instead acts as a base class which is extended.


Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the PagesType class also inherits all the methods and properties of: Wire.

Show class?             Show args?        

Family

NameReturnSummary 
PagesType::addParents($parents)
(nothing)Add one or more of parents that this PagesType represents 
PagesType::addTemplates($templates)
(nothing)Add one or more templates that this PagesType represents 
PagesType::getPageClass()
stringGet the PHP class name used by Page objects of this type 
PagesType::getParent()
Page NullPageGet the parent Page object (or first parent Page object if there are multiple) 
PagesType::getParentID()
intGet the parent page ID used by this type (or first parent ID if there are multiple) 
PagesType::getParentIDs()
arrayGet the parent page IDs used by this type 
PagesType::getParents()
PageArrayGet the parent Page objects in a PageArray 
PagesType::getTemplate()
TemplateGet the template used by this type (or first template if there are multiple) 
PagesType::getTemplates()
array TemplateGet the templates (plural) used by this type 
PagesType::setPageClass(string $class)
(nothing)Set the PHP class name to use for Page objects of this type 

For hooks

These methods are only useful for hooking and should not be called directly.

NameReturnSummary 
PagesType::added(Page $page)
(nothing)Hook called when a new page of this type has been added
PagesType::deleteReady(Page $page)
(nothing)Hook called when a page is about to be deleted, but before data has been touched
PagesType::deleted(Page $page)
(nothing)Hook called when a page and its data have been deleted
PagesType::saveReady(Page $page)
arrayHook called just before a page of this type is saved
PagesType::saved(Page $page)
(nothing)Hook called after a page of this type is successfully saved

Additional methods and properties

In addition to the methods and properties above, PagesType also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.148

Twitter updates

  • This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks… More
    3 April 2020
  • ProcessWire 3.0.153 (dev) focuses on comments field updates, significant refactoring/improvements to ProcessWire’s core Template class and PagesLoader class (which is used by the pages API variable), and we introduce a useful new pages API method— More
    20 March 2020
  • ProcessWire 3.0.152 core updates— This week we have some major improvements to our core date/time Inputfield, as well as a new ability to specify your own custom classes for Page objects— More
    6 March 2020

Latest news

  • ProcessWire Weekly #308
    In the 308th issue of ProcessWire Weekly we're going to take a look at some upcoming core and pro module updates, check out two all-new third party modules, and more. Read on!
    Weekly.pw / 4 April 2020
  • ProcessWire updates and additions in progress
    This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks. This post covers all the details.
    Blog / 3 April 2020
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH