Templates are used to embed details of files in to a post or page. They are can also be used to create file lists. WP-Filebase includes a powerful template engine supporting IF-THEN-ELSE blocks. Templates are blocks of HTML code containing variables. There are three different types of templates:
- File Templates are used to embed files
- Category Templates are used for categories in file lists if file grouping is enabled
- List Template consists of a Header, Footer and a File and Category Template.
Special templates that cannot be deleted:
- Default: Default templates are used when there is no template specified, for example a shortcode without the tpl parameter. Its also used for file search results and attachments. Note that the default templates appears in the template management list as well as in settings. When resetting settings, the default template code is restored!
- Filebrowser: template used for AJAX treeview
- Filepage: This template is used to build the File Details Page (WP-Filebase Pro)
You can even place shortcodes into templates to build advanced file lists. Be careful: don’t nest a shortcode using the template itself!
Syntax
A template is a piece of HTML code containing “variables” that will be replaced with file specific properties. A variable is wrapped by two % characters, i.e. %file_name%. A very simple template:
<p>
<img src="%file_icon_url%" style="height:20px; vertical-align:middle;" />
<a href="%file_url%" title="Download %file_display_name%">%file_display_name%</a> (%file_size%)
</p>
This would output a HTML paragraph containing a small icon/thumbnail followed by the name and size of the file.
To omit the <img> tag for files without a thumbnail, an IF-block is added:
<p>
<!-- IF %file_thumbnail% -->
<img src="%file_icon_url%" style="height:20px; vertical-align:middle;" />
<!-- ENDIF -->
<a href="%file_url%" title="Download %file_display_name%">%file_display_name%</a> (%file_size%)
</p>
Inside an IF expression you can use the Boolean operators OR and AND. The following sample inserts a link to the associated post/page of the file if: 1. the file has an associated post and 2. the currently viewed post/page is not the associated one. So the link won’t appear in templates that are generated in the post/page of the file:
<!-- IF %file_post_id% AND %post_id% != %file_post_id% -->
<a href="%file_post_url%">%'View post'%</a>
<!-- ENDIF -->
Templates are internally parsed to PHP code, so all PHP and WordPress functions can be used in expression!
Template Variables
The following template variables are available for file and category templates:
Name | Description | Type | Example Value |
---|---|---|---|
%uid% | A unique ID number to identify elements within a template | Number | 3 |
Name | Description | Type | Example Value |
Here’s a list of template variables for files, which can be selected from the Drop-Down when editing a template. Custom fields (see Settings) appear at the end of the Drop-Down box.
Name | Description | Type | Example Value |
---|---|---|---|
%file_name% | The name of the file (with extension) | number | example.pdf |
%file_size% | ID of the current post or page | Formatted size | 1.63 MiB |
%file_date% | Formatted date of the file (change in Settings) | Formatted date time | 4. May 2011 |
%file_thumbnail% | The name of the thumbnail file | String | example-100×120.png |
%file_display_name% | The Title of the file | String | Example Document |
%file_description% | File Description | String | |
%file_version% | File Version | String | 2.1 |
%file_author% | File Author | String | |
%file_languages% | A comma-separated list of all supported languages | Strings | English, German |
%file_platforms% | A common-separated list of supported platforms | Strings | Windows 7, Ubuntu |
%file_requirements% | A commo-sperated list of requirements | Strings | Apache, MySQL |
%file_license% | File License | String | Creative Commons |
Number | -1 | ||
String (user role) | Subscriber | ||
%file_user_can_access% | Boolean (0/1) | 0 | |
%file_offline% | Boolean (0/1) | 1 | |
%file_direct_linking% | Boolean (0/1) | ||
%file_category% | String | ||
%file_post_id | number |
If ID3 detection is enabled, there are more variables available for each file. ID3 variables begin with the prefix %file_info/ . Example to get artist of an mp3 file:
%file_info/tags/id3v2/artist%
These variable can also be used in IF expressions. You’ll find a list of all available variables below the file form when editing a file.
Special template variables
%dl_countdown% Used in File Details Page template to display the countdown
%search_form% Used in list headers and footers to display a search form
%sort_link:file_size% Will be replaced by a URL to sort the current file list. Example:
<a href="%sort_link:file_name%">Sort by Name</a>
%print_script:{script-name}% Used in list headers to include JavaScripts like the jQuery extension dataTables.
%print_style:{style_name}% Used in list headers to include CSS files.
Useful Expressions
Only display ads (or anything else) to non-registered users:
<!-- IF get_current_user_id() != 0 --> ..ad code.. <!-- ENDIF -->
PHP Code in Templates
WP-Filebase Pro supports PHP codeblocks inside the Template code. To use a template variable in PHP, use the following syntax (instead of %file_display_name%):
<?php echo $file->get_tpl_var('file_display_name'); ?>
in which folder can I find the templates?
or where can I add the code to add new templates?