全部博文(21)
分类: Python/Ruby
2011-07-18 20:44:23
来源:
A theme is a collection of files that define the presentation layer. You can also create one or more "sub-themes" or variations on a theme. Only the .info file is required, but most themes and sub-themes will use other files as well. The following diagram illustrates the files that are found in a typical theme and sub-theme.
Drupal 6
All that is required for Drupal to see your theme is a ".info" file. Should the theme require them, meta data, , , and more can be defined here. Everything else is optional.
The internal name of the theme is also derived from this file. For example, if it is named "drop.info", then Drupal will see the name of the theme as "drop". Drupal 5 and below used the name of the enclosing folder of the theme.
Info files for themes are new in Drupal 6. In version 5, .info files were used solely for modules.
(.tpl.php)These templates are used for the (x)HTML markup and PHP variables. In some situations they may output other types of data -- for example. Each .tpl.php file handles the output of a specific themable chunk of data, and in some situations it can handle multiple .tpl.php files through . They are optional, and if none exists in your theme it will fall back to the default output. Refrain from having complex logic in these files. In most cases, it should be straight (x)HTML tags and PHP variables. A handful of these templates exist in directories where core and contributed modules exist. Copying them to your theme folder will force Drupal to read your version.
Note: The caches information about the available theming data. You must reset it when adding or removing template files or theme functions from your theme.
template.phpFor all the conditional logic and data processing of the output, there is the template.php file. It is not required, but to keep the .tpl.php files tidy it can be used to hold for generating variables before they are merged with the markup inside .tpl.php files. Custom functions, or any other customization of the raw output should also be done here. This file must start with a PHP opening tag "
On the surface, sub-themes behave just like any other theme. The only differences is that they inherit the resources from their parent themes. To create one, a "base theme" entry inside the .info file is needed. From there it will inherit the resources from its parent theme. There can be multiple levels of inheritance; i.e., a sub-theme can declare another sub-theme as its base. There are no hard set limits to this.
Drupal 5 and below required sub-themes to be in sub-directories of the parent theme. This is no longer the case.
Others