This guide is to help you understand where to find certain files & areas to edit.
Before we start it's best to learn the structure of WHMCS. WHMCS is built on templating software called Smarty. The biggest advantage of Smarty is that it separates the functionality from the design meaning unlike WordPress for example PHP code won't be mixed with the template design. Instead the PHP is separate which makes editing the design much more user friendly.
Each WHMCS page consists of a .php file (contains functionality that makes the page work) and a .tpl file (contains the HTML content that will be visible when visiting the page):
When you create a custom page it will always load the templates header.tpl and footer.tpl files as standard meaning it will already work with the design.
Using our Ice Host WHMCS Theme as a overview I've taken a screenshot and annotated it to show you how it works:
A screenshot of Ice Host highlighting the file structure of WHMCS.
Settings area (Wizard Panel)
Our WHMCS templates allow you to easily apply your plans, enable/disable pages/feature & more using our exclusive control panel, Wizard Panel.
Editing template text (anything not editable in Wizard Panel)
Most of the text located in your header and footer is loaded from the WHMCS language file (or files if you've setup multiple languages):
For Orbit and Eco Net most of the template text is loaded in the above location. All other templates header/footer text will be loaded above.
Not all text is the template is generated by us. The templates use pre-existing WHMCS template pages such as clientarea.php, register.php etc. The text for WHMCS default text is found in WHMCS's language files:
Template, CSS & image files
The main 2 files are header.tpl and footer.tpl. These contain the HTML that's used for the header and footer of every page on the template.
In this same location you'll find the template content pages such as:
Note: WHMCS uses .tpl files for the content instead of the .php files in the root directory. This allows the structure and functions to be separate for easier editing. Contents can be added manually to .tpl content pages but for most pages we/WHMCS have setup the text used on these pages to support multi languages so it's actually edited from the language files. However, if you only need to support one language you can add your text to any of the above files without loading it from the language files.
Leave a comment
Let us know what you think!