Template Syntax
The basic template syntax can be seen by looking at the templates. Template files simply use regular HTML along with tags for where the WHMCS data is inserted into them. All pages have specific variables which you can use. To view a complete list of variables available on a given page, enter the following tag into the template file:
{debug}
When you next access that template file after adding this code, a popup window will appear showing you all the different variables which you can use on the page. Variables can be accessed using the {$variable} syntax.
Contents
Common Template Variables Available on All Pages
The following is a list of template variables available for use in all the template files of WHMCS
- {$companyname} - All India Host
- {$pagetitle} - Current Pages Title
- {$template} - Template Name
- {$charset} - Current Charset Setting
- {$todaysdate} - Formatted Date
- {$systemurl} - URL to WHMCS System
- {$loggedin} - True if logged in
- {$clientsdetails.id} - Currently Logged in Users Details
- {$clientsdetails.firstname}
- {$clientsdetails.lastname}
Displaying Text to Logged In Users Only
To display something on the page only if a user is logged in, use the following syntax:
{if $loggedin}
User is logged in so display client only information
{else}
User is not logged in so display this
{/if}
Displaying Text if Certain Conditions Are Met
In a similar vein it can be useful to display things only is certain conditions are met. For example you might want to display card scheme logos associated with your different payment gateways, or show information based upon what is displayed on the page. This is done using if commands:
{if $gateway.name eq "PayPal"}We accept PayPal{/if}
Would display the message "We accept PayPal" if that option is available on the checkout page. This can be used for any variable.
More Information
For furthur documentation on template customisations, see the official Smarty documentation @ http://smarty.php.net/docs.php