Difference between revisions of "Troubleshooting Client Area Template Issues"

From WHMCS Documentation

 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
You've upgraded your installation, but now your custom system theme template is no longer working. The steps below may help you.
+
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:
+
 
==Why does this happen?==
 
 
A blank or partially rendered page indicates a fatal PHP error that stops the execution from being able to continue. This can be caused by a number of reasons. For example:
 
 
* Using PHP code blocks in your system theme template without the '''Allow Smarty PHP Tags''' setting enabled at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings > Security'''.
 
 
* 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 have been removed in the upstream Smarty package.
+
* Using Smarty features that the upstream Smarty package has removed or using legacy Smarty tags in your system theme template.
+
 
For more detailed 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 steps below:
 +
 
 
==Check the Logs==
 
==Check the Logs==
+
 
When you encounter an error of this nature, check the '''[[Activity_Logs|Activity Log]]'''. This can be acccessed by navigating to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Logs''' ('''Utilities > Logs > Activity Log''' in WHMCS 7.x and earlier) within the admin area. All of the errors encountered by the Smarty templating engine are logged here. They should help you 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 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 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 your WHMCS system uses, navigate to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' and choose one of the default system theme templates in the '''System Theme''' setting in the '''General''' tab.  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, features that are only available in Smarty 2 will need to be migrated 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>
 
   
 
   
If none of the above help, [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.