In XenForo, templates can contain HTML or CSS code along with a wide range of template Syntax like if conditions, foreach syntax, contentcheck etc. A XenForo template can include other templates. The calling template can define variables to be used by the called template and called template can set variables that can be rendered later in the calling template.
Example: PAGE_CONTAINER template is the default template for rendering all the default XenForo pages. Header at the top, followed by navbar and breadcrumbs and then we have content for each page and a sidebar and finally the footer area. The default PAGE_CONTAINER is highly customizable by the child templates but if any add-on needs custom structure, they can define their own page container as well.
Administrator with the permission to “Manage styles, style properties, and templates” will have an option in the Appearance menu in admin cp for templates.
The XenForo admin area or admin CP allows easy to use interface to modify templates along with an option to search within templates. XenForo has a built-in version control for templates, so a modification on any template can be compared to the base version and any template can be reverted to the base very easily.
If you have development mode enabled, you can modify the templates for the master style which is the base version for a style in XenForo.
Note: A change in a template of a base style may not trickle down to child style if the template in the child style is prior customized.