Difference between revisions of "Troubleshooting Client Area Template Issues"
(One intermediate revision by the same user not shown) | |||
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 | ||
− | |||
− | |||
* 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 | + | * Using Smarty features that the upstream Smarty package has removed or using legacy Smarty tags in your system theme template. |
− | + | ||
− | For more | + | 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== | ||
− | + | ||
− | + | 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 | + | * 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, | + | |
− | + | 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== | ||
− | + | 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 <tt>{php}</tt> tag backwards compatibility in WHMCS 6.0. We will '''remove support entirely''' in WHMCS 9.0. | |
− | = | + | <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> | ||
− | + | * 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.