Difference between revisions of "Troubleshooting Client Area Template Issues"

From WHMCS Documentation

(Check the Logs)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
You've upgraded your installation, but now your custom client area 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 custom or third-party module or hook that is incompatible with the new version.
 
+
* A syntax issue in your system theme template.
A blank or partially rendered page indicates a fatal PHP error is occurring which stops the execution from being able to continue. This can be caused by a number of reasons, most commonly:
+
* Using Smarty features that the upstream Smarty package has removed or using legacy Smarty tags in your system theme template.
 
+
 
* Using PHP code blocks in your 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'''.
+
For more information, see [[Blank or Partially Rendered Pages]].
* A custom or third party module or hook that is incompatible with the new version
+
* A syntax issue in your template
+
If you have upgraded your installation and your custom system theme template is no longer working, try the steps below:
* Using features of Smarty that have been removed in the upstream Smarty package
+
 
 
 
For more detailed information, please see [[Blank or Partially Rendered Pages]].
 
 
 
 
==Check the Logs==
 
==Check the Logs==
 
+
 
The first place to check any time you encounter an error of this nature is 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 errors encountered by the Smarty templating engine are logged here, and should help pinpoint the exact 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 Template==
+
==Try a Different System Theme Template==
 
+
 
If you don't find anything in the activity logs, switching to a different template will help determine where the issue lies.
+
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 template allows the client area to load successfully, then you know the issue is with your template itself. If you continue to experience problems loading the client area with other templates, then your issue is more likely related to a module or hook and not a specific individual 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 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 templates in the '''Template''' setting found on the first tab of the settings.  Then, hit '''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 Templates for Legacy Smarty Functions==
+
 
 
+
==Check Your System Theme Templates for Legacy Smarty Functions==
Most custom templates won't need any updates to be compatible with newer versions of Smarty, but those features 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 on exactly what's changed, please refer to 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">
If none of the above help, then you should contact our support team for further assistance.  To do that, visit http://www.whmcs.com/support/ and select the '''Ask Us''' link.
+
You '''must''' remove Smarty PHP tags from your custom themes and templates. For more information, see [[Eliminating Legacy Smarty Tags]].
 +
</div>
 +
 +
* 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.