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'); ?>
I have 2 categories in which the files are uploaded into. Is there a way to add a new column that displays which of the 2 categories the file is under?
I ran into the same problem. I tried to create a file template:
%file_display_name%%file_size%%file_category%%file_sec_cats%
And I have categories with parent categories, but it doesn’t show on the front end.
[wpfilebase tag=list tpl=data-table_cat pagenav=1 /]
Nvm! It does work afterall!
Hi,
What did you do to display categories in front end. I am unable to display it using file template.
You just use the data table template that they have under File Lists. I don’t recall having to do anything else special. Hope that helps!
I have a question about embeded templates and downloads. When I click on WP-filebase>embeded templates I see the three selections I can make (file list, category, file) When I drill into a selection I see several pre-made templates (file browser, 3-col-row, etc…) I’m not understanding how to make a particular template active. For example if I make a template and call it template new it appears in the list with the rest and has a check box, but I dont see how I make that active for my category list
Thank you very much
But I dont see how I make that active for my category list
Thank you very much.
mọi thông tin rất tuyệt vời và chúng tôi mời bạn đến với dịch vụ mạ của chúng tôi tại đây
Thanks for sharing
Thank you
Appear in templates that are generated in the post/page
Hello Fabian,
I write you today because I’m trying to use the notification to the members when a new file is uploaded.
So, I tried to give style to the message, because the notification should be part of the visual system too.
After flew tries, it only gives me the entire html code.
How can I do it well? If is possible, it will help me a lot with this.
I tried to contact you by email, tickets and the contact form, but ticket and the contact form don’t work.
Thank you.
Best regards,
Eduardo
I have problems with subcategories. I am using:
[wpfilebase tag=list tpl=table path="test-portal" showcats=1 /]
If I have: test-portal/file0, test-portal/dir1/file1,test-portal/dir2/file2, test-portal/dir1/subdir1/file3, then table only shows test-portal/file0 in table (no subcategories or their files).
If I remove test-portal/file0, then table shows dir1/file1, dir2/file2, subdir1/file3, but subdir1/file3 as shown at same level as dir1 and dir2 and doesn’t show parent category as in dir1/subdir1/file3. Is there a way to show the parent categories? I do not have tpl=data-table as others commented they have.