Skip to main content

Customizing and Theming

d
Written by dhru soft
Updated over 3 months ago

DHRU FUSION is built with flexibility in mind. You can customize both the appearance and behavior of the system through its templating system and language files.


Template Syntax

DHRU FUSION uses the Smarty templating engine. Template files are primarily HTML, with Smarty tags embedded to display dynamic data.

• To explore available variables in any template, insert the following tag:

{debug}

A popup will display the list of variables when you access that page in your browser.

Using {literal} Tags

When writing inline JavaScript or other code that may conflict with Smarty syntax, wrap your code in {literal} tags to prevent it from being parsed:

{literal}
<script>
// your JavaScript code
</script>
{/literal}

To combine literal content and template variables, use multiple literal blocks as needed.

Conditional Display

Show Content to Logged-in Users Only

{if $logedin}
Welcome back, user!
{else}
Please log in to continue.
{/if}

Condition Based on Variables

{if $gateway.name eq "PayPal"}
We accept PayPal
{/if}

Use this approach to dynamically render content based on available data.


For advanced usage, refer to the official Smarty documentation:

Client Area Template Files

All client area pages are customizable. DHRU FUSION uses a three-part structure for every page:

1. header.tpl

2. PageName.tpl

3. footer.tpl

You’ll find many page-specific template files in the /templates/ directory (e.g., index.tpl for homepage, home.tpl for the client dashboard, etc.).

Steps to Customize Templates

1. Duplicate the default folder located in /templates/ and rename it (e.g., mytemplate).

2. Modify the desired files (header.tpl, footer.tpl, and any page-specific .tpl files).

3. Upload the new folder to the /templates/ directory on your server.

4. In the admin panel, go to:

Settings > General Site Settings > Appearance

Select your new template from the Template dropdown menu.

Templates can include custom HTML, PHP, and client-specific logic.


Did this answer your question?