Difference between revisions of "Troubleshooting Client Area Template Issues"

From WHMCS Documentation

 
Line 1: Line 1:
 
A blank or partially-rendered page indicates a fatal PHP error that stops execution from being able to continue. There can be many causes for this issue. For example:
 
A blank or partially-rendered page indicates a fatal PHP error that stops execution from being able to continue. There can be many causes for this issue. For example:
+
 
* Using PHP code blocks in your system theme template without enabling the '''Allow Smarty PHP Tags''' setting in the '''[[Security Tab|Security]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''.
 
 
* A custom or third-party module or hook that is incompatible with the new version.
 
* A custom or third-party module or hook that is incompatible with the new version.
 
* A syntax issue in your system theme template.
 
* A syntax issue in your system theme template.
* Using Smarty features that the upstream Smarty package has removed.
+
* Using Smarty features that the upstream Smarty package has removed or using legacy Smarty tags in your system theme template.
+
 
 
For more information, see [[Blank or Partially Rendered Pages]].
 
For more information, see [[Blank or Partially Rendered Pages]].
 
If you have upgraded your installation and your custom system theme template is no longer working, try the process below.
 
 
   
 
   
 +
If you have upgraded your installation and your custom system theme template is no longer working, try the steps below:
 +
 
 
==Check the Logs==
 
==Check the Logs==
+
 
 
Check the '''[[Activity_Logs|Activity Log]]''' at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities > Logs > Activity Log'''. This logs all of the errors that the Smarty templating engine encounters. You can use this to find the exact system theme template and section of code that is causing the problem.
 
Check the '''[[Activity_Logs|Activity Log]]''' at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[System Logs]]''' or, prior to WHMCS 8.0, '''Utilities > Logs > Activity Log'''. This logs all of the errors that the Smarty templating engine encounters. You can use this to find the exact system theme template and section of code that is causing the problem.
+
 
 
==Try a Different System Theme Template==
 
==Try a Different System Theme Template==
+
 
 
If you don't find anything in the activity logs, switching to a different system theme template will help determine the cause of the issue.
 
If you don't find anything in the activity logs, switching to a different system theme template will help determine the cause of the issue.
+
 
* If changing to a different system theme template allows the client area to load successfully, the issue is in your system theme template itself.  
+
* If changing to a different system theme template allows the Client Area to load successfully, the issue is in your system theme template itself.
* If you continue to experience problems loading the client area with other system theme templates, then your issue is more likely related to a module or hook and not a specific individual system theme template.
+
* If you continue to experience problems loading the Client Area with other system theme templates, then your issue is more likely related to a module or hook and not a specific individual system theme template.
+
 
 
To change the system theme template that your WHMCS system uses, use the '''System Theme''' setting in the '''[[General Tab|General]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''.  Then, click '''Save''' and attempt to visit your Client Area.
 
To change the system theme template that your WHMCS system uses, use the '''System Theme''' setting in the '''[[General Tab|General]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''.  Then, click '''Save''' and attempt to visit your Client Area.
+
 
 
==Check Your System Theme Templates for Legacy Smarty Functions==
 
==Check Your System Theme Templates for Legacy Smarty Functions==
 
   
 
   
Most custom system theme templates won't need any updates to be compatible with newer versions of Smarty. However, you must migrate features that are only available in Smarty 2 to ensure a smooth transition to the latest version.
+
If your custom themes or templates use features that are not available in the most recent version of Smarty, you will need to update them for compatibility.
 
   
 
   
For more information, see our [[Version 6 Template Migration Guide]].
+
We moved from Smarty 2 to Smarty 3 in WHMCS 6.0. Smarty 3 removed several legacy tags and we deprecated their use and implemented a setting for <tt>{php}</tt> tag backwards compatibility in WHMCS 6.0. We will '''remove support entirely''' in WHMCS 9.0.
 
   
 
   
==Contact our Support Team==
+
<div class="docs-alert-warning">
 +
You '''must''' remove Smarty PHP tags from your custom themes and templates. For more information, see [[Eliminating Legacy Smarty Tags]].
 +
</div>
 
   
 
   
For additional assistance, [http://www.whmcs.com/support/ contact our support team].
+
* To use the legacy <tt>{php}</tt> tag in WHMCS 6.0 through 8.7, enable '''Allow Smarty PHP Tags''' in the '''[[Security Tab|Security]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings'''.
 +
* For more information about making templates compatible with WHMCS 6 or higher, see our [[Version 6 Template Migration Guide]].

Latest revision as of 21:49, 26 January 2023

A blank or partially-rendered page indicates a fatal PHP error that stops execution from being able to continue. There can be many causes for this issue. For example:

  • A custom or third-party module or hook that is incompatible with the new version.
  • A syntax issue in your system theme template.
  • Using Smarty features that the upstream Smarty package has removed or using legacy Smarty tags in your system theme template.

For more information, see Blank or Partially Rendered Pages.

If you have upgraded your installation and your custom system theme template is no longer working, try the steps below:

Check the Logs

Check the Activity Log at Configuration () > System Logs or, prior to WHMCS 8.0, Utilities > Logs > Activity Log. This logs all of the errors that the Smarty templating engine encounters. You can use this to find the exact system theme template and section of code that is causing the problem.

Try a Different System Theme Template

If you don't find anything in the activity logs, switching to a different system theme template will help determine the cause of the issue.

  • If changing to a different system theme template allows the Client Area to load successfully, the issue is in your system theme template itself.
  • If you continue to experience problems loading the Client Area with other system theme templates, then your issue is more likely related to a module or hook and not a specific individual system theme template.

To change the system theme template that your WHMCS system uses, use the System Theme setting in the General tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings. Then, click Save and attempt to visit your Client Area.

Check Your System Theme Templates for Legacy Smarty Functions

If your custom themes or templates use features that are not available in the most recent version of Smarty, you will need to update them for compatibility.

We moved from Smarty 2 to Smarty 3 in WHMCS 6.0. Smarty 3 removed several legacy tags and we deprecated their use and implemented a setting for {php} tag backwards compatibility in WHMCS 6.0. We will remove support entirely in WHMCS 9.0.

You must remove Smarty PHP tags from your custom themes and templates. For more information, see Eliminating Legacy Smarty Tags.

  • To use the legacy {php} tag in WHMCS 6.0 through 8.7, enable Allow Smarty PHP Tags in the Security tab at Configuration () > System Settings > General Settings.
  • For more information about making templates compatible with WHMCS 6 or higher, see our Version 6 Template Migration Guide.