Component templates are trees of components used to build a portion of a page for a web page or application page.
Here are some examples of component templates: product header, page header, page footer, and menus.
Component templates are used to build web pages faster by allowing an entire group of objects to be dropped into a layout. To make it easier to find a template, component templates are grouped by template type.
If an object has a template type it is a template, if it does not then it is not a template. For example, page-header is a template type. Page-footer is another type. An object could be used as a page header unique in a particular layout. Assigning that object a page type makes it a "Page Header" type and makes the object with its object tree available in the "Page Header" component template library.
A page-header type template is made by creating an object with its tree, then giving it a template type of page-header.
Example: Someone may create an object of type panel group. It may have a logo and phone number and many other things as children. It can be assigned a template-type of header. So, when building a new layout, we can search through objects of template-type header to select various header templates.