$templates API variable / Templates class

Manages and provides access to all the Templates.

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

Show $var?             Show args?        

Common

NameReturnSummary 
$templates->add(string $name)
TemplateAdd and save new template (and fieldgroup) with given name and return it 
$templates->clone($item)
bool TemplateClone the given Template
$templates->delete($item)
boolDelete a Template
$templates->get($key)
Template null stringGet a template by name or ID 
$templates->getNumPages(Template $tpl)
intReturn the number of pages using the provided Template 
$templates->getPageClass(Template $template)
stringGet class name to use for pages using given Template 
$templates->getParentPage(Template $template)
Page NullPage null PageArrayReturn the parent page that this template assumes new pages are added to 
$templates->getParentPages(Template $template)
PageArrayReturn all possible parent pages for the given template, if predefined 
$templates->getTags()
arrayGet all tags used by templates
$templates->rename(Template $template, string $name)
(nothing)Rename given template (and its fieldgroup, and file, when possible) 
$templates->save($item)
boolSave a Template

For hooks

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

NameReturnSummary 
$templates->fileModified(Template $template)
(nothing)Hook called when a Template detects that its file has changed

Additional methods and properties

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

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK