Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
litespeed_wiki:cache:litemage:troubleshooting:uninitialized-php-vars-injected-block [2016/05/06 14:10]
Michael Alegre created
litespeed_wiki:cache:litemage:troubleshooting:uninitialized-php-vars-injected-block [2017/05/08 19:22] (current)
Lisa Clarke
Line 1: Line 1:
-====== ​Uninitialized PHP variables in injected blocks ​======+~~NOTOC~~ 
 +====== ​Footer Fails to Output for Some Themes ​======
  
-Some customized ​themes ​may reference user initialized global PHP variables in injected blocks. When those ESI blocks rendernull pointer errors will occur as those variables may have been initialized earlier but the injected block has no way of recognizing them+==== Problem ==== 
 +The footer fails to output for SNS themes, ​SM themes or other themes.
  
-For examplefor SNS themes: the footer template may fail to output ​due to the variable "​$var_snstheme" ​actually ​being initialized in the header block.+==== Cause ==== 
 +The customized theme references user-initialized global PHP variables in injected blocks. When those ESI blocks rendernull pointer errors occur as those variables have been initialized earlier but the injected block has no way of recognizing them. In SNS themes, this is due to the variable "​$var_snstheme"​ being initialized in the header block. 
 + 
 +==== Solution ==== 
 +Find the code where this variable is initialized and copy this logic to the template of the injected block, or to the top of the template. 
 + 
 +For example, for SNS themes, add the following 2 lines to the top of the template:
  
-Solution: Find the code where this variable is initialized copy this logic to the template of the injected block. For example, adding the following 2 lines: 
 <​code>​ <​code>​
 global $var_snstheme;​ global $var_snstheme;​
Line 13: Line 20:
 </​code>​ </​code>​
  
-Similarly, for SM themes (such as sm-maxshop yttheme):+Similarly, for SM themes (such as sm-maxshop yttheme), add the following to the top of the template: 
 <​code>​ <​code>​
 if (empty($var_yttheme)) { if (empty($var_yttheme)) {
Line 20: Line 28:
 </​code>​ </​code>​
  
-Alternatively you can remove ​footer block injection. ​This however ​will slow down page loading time as well as increase cache size and is hence not recommended.+==== Alternative Solution ==== 
 +Remove ​footer block injection. ​Doing this will slow down page load times and increase cache sizeand as such is not recommended.
  
  • Admin
  • Last modified: 2016/05/06 14:10
  • by Michael Alegre