Core templates and suggestions
- Default templates:
-
These are the default template (.tpl.php) files provided by core. Documentation on the variables and purpose of these templates are located inside the templates. There is a default set of variables available to all templates.
The templates handled by PHPTemplate in 5.x were also moved. PHPTemplate no longer handles template files.
In order to override these templates, all you need to do is copy them into your theme folder and clear the theme registry.
- Aggregator
-
"modules/aggregator/..."
- Block
-
"modules/system/..."
"modules/block/..."
- Book
-
"modules/book/..."
- Comment
-
"modules/comment/..."
- Forum
-
"modules/forum/..."
- Node
-
"modules/node/..."
- modules/node/node.tpl.php
- Poll
-
"modules/poll/..."
- Profile
-
"modules/profile/..."
- Search
-
"modules/search/..."
- User
-
"modules/user/..."
- System
-
"modules/system/..."
- Template suggestions:
-
Suggestions only work when it is placed in the same directory as the base template. In other words, trying to get comment-blog.tpl.php to work, comment.tpl.php also needs to exist inside your theme and in the same directory.
Custom suggestions beyond the ones listed below can be created. See the page Working with template suggestions.
- block-[region|[module|-delta]].tpl.php
-
base template: block.tpl.php
Suggestions made based on these factors in this order:
- block-module-delta.tpl.php
- block-module.tpl.php
- block-region.tpl.php
"module" being the name of the module and "delta", the internal id assigned to the block by the module. For example, "block-user-1.tpl.php" would be used for the default user navigation block since it was created by the user module with the id of 1. "region" will take effect for specific regions.
- comment-[type].tpl.php
-
base template: comment.tpl.php
Support was added to create comment-type.tpl.php files, to format comments of a certain node type differently than other comments in the site. Similar to node-[type].tpl.php but for comments.
- comment-wrapper-[type].tpl.php
-
base template: comment-wrapper.tpl.php
Similar to the above but for the wrapper template.
- forums-[[container|topic]-forumID].tpl.php
-
base template: forums.tpl.php
Template suggestions added based in these factors, in this order.
For forum containers:
- forums-containers-forumID.tpl.php
- forums-forumID.tpl.php
- forums-containers.tpl.php
For forum topics:
- forums-topics-forumID.tpl.php
- forums-forumID.tpl.php
- forums-topics.tpl.php
- maintenance-page-[offline].tpl.php
-
base template: maintenance-page.tpl.php
This applies when the database fails. Useful for presenting a friendlier page without error messages. Theming the maintenance page must properly setup first.
- node-[type].tpl.php
-
base template: node.tpl.php
Node content type, e.g., "node-story.tpl.php", "node-blog.tpl.php", etc.
- page-[front|internal/path].tpl.php
-
base template: page.tpl.php
The suggestions are numerous. The one that takes precedence is for the front page. The rest are based on the internal path of the current page. Do not confuse the internal path to path aliases which are not accounted for. Keep in mind that the commonly used Path auto module works its magic through path aliases.
The front page can be set through "Administrator > Site configuration > Site information". Anything set there will trigger the suggestion of "page-front.tpl.php" for it.
The list of suggested template files in order of specificity based on internal paths. One suggestion is made for every element of the current path, though numeric elements are not carried to subsequent suggestions. For example, "http://www.example.com/node/1/edit" would result in the following suggestions:
- page-node-edit.tpl.php
- page-node-1.tpl.php
- page-node.tpl.php
- page.tpl.php
- poll-results-[block].tpl.php
-
base template: poll-results.tpl.php
The theme function that generates poll results are shared for nodes and blocks. The default is to use it for nodes but a suggestion is made for rendering them inside block regions. This suggestion is used by default and the template file is located inside "modules/poll/poll-results-block.tpl.php".
- poll-vote-[block].tpl.php
-
base template: poll-vote.tpl.php
Similar to poll-results-[block].tpl.php but for generating the voting form. You must provide your own template to for it to take effect.
- poll-bar-[block].tpl.php
-
base template: poll-bar.tpl.php
Same as poll-vote-[block].tpl.php but for generating individual bars.
- profile-wrapper-[field].tpl.php
-
base template: profile-wrapper.tpl.php
The profile wrapper template is used when browsing the member listings page. When browsing specific fields, a suggestion is made with the field name. For example, http://drupal.org/profile/country/Belgium would "suggest profile-wrapper-country.tpl.php".
- search-results-[searchType].tpl.php
-
base template: search-results.tpl.php
search-results.tpl.php is the default wrapper for search results. Depending on type of search different suggestions are made. For example, "example.com/search/node/Search+Term" would result in "search-results-node.tpl.php" being used. Compare that with "example.com/search/user/bob" resulting in "search-results-user.tpl.php". Modules can extend search types adding more suggestions of their type.
- search-result-[searchType].tpl.php
-
base template: search-result.tpl.php
The same as above but for for individual search results.
