Zen Cart Logo
Forums / Upgrading to 1.5.x / blank screen being caused by something in init_templates.php

blank screen being caused by something in init_templates.php

Views: 959

Results 1 to 4 of 4
28 Nov 2014, 4:12 PM
#1
kcb410 avatar

kcb410

Zen Follower

Join Date:
Dec 2008
Location:
Toronto
Posts:
348
Plugin Contributions:
0

blank screen being caused by something in init_templates.php

Hello All,

We've successfully upgraded our site on a DEV version from 1.5.0 to 1.53 for our desktop template. When we attempt to install our mobile template (functions fine on 1.5.0) on 1.5.3 it generates a blank screen on the desktop. There's no error log being generated for this blank screen. Unfortunately I'm not a coder....but there's a snippet of code in includes\init_includes\init_templates.php that when removed restores the site on a desktop to normal function. That code is as follows:

  • BOF : SPECIFIC TEMPLATE FOR MOBILE CLIENT
    /
    /
    *
  • Determine if client is a mobile device or not ($mobile = 1 ==> it is | $mobile = 0 ==> it is not)
    */
    //$browser = get_browser($_SERVER['HTTP_USER_AGENT'], true);
    //$mobile = ($browser['ismobiledevice'] == null ? 0 : $browser['ismobiledevice']);
    //$platform = $browser['browser'];

$useragent=$_SERVER['HTTP_USER_AGENT'];

if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|Curve|curve|4thp|50[1-6]i|770s|802s|8520|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| ||a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|e-|e/|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(-|2|g)|yas-|your|zeto|zte-/i',substr($useragent,0,4))){
$mobile = 1;
}
else{
$mobile = 0;
}

//echo $mobile;
//echo '<br />';

if(isset($_COOKIE['TestCookie'])){
$mobile = 0;
}

//$_SESSION['viewmobile'] = 1;
//unset($_SESSION['viewmobile']);

if($_SESSION['viewmobile']){
$mobile = 1;
}

//echo $mobile;
//echo '<br />';

/**

  • Check if there is a specific template for this mobile platform and use it
    */

if ($mobile == 1){
$exists_mobile = file_exists(DIR_WS_TEMPLATES . $template_dir . '_mobile');
if($exists_mobile){
//$exists_platform = file_exists(DIR_WS_TEMPLATES . $template_dir . 'mobile' . $platform);
//if ($exists_platform)
//{
//$template_dir .= 'mobile' . $platform;
//}
$_SESSION['mobile'] = 1;
$template_dir .= '_mobile';
}
else {
$template_dir .= '';
unset($_SESSION['mobile']);
}

}
else{
// use regular template
unset($_SESSION['mobile']);
}
/**

  • EOF : SPECIFIC TEMPLATE FOR MOBILE CLIENT

Is there anyone with a sharp eye for code that could shed some light on this issue for me.
Any help would be appreciated. Thanks!!

Paul

28 Nov 2014, 5:25 PM
#2
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,102
Plugin Contributions:
56

Re: blank screen being caused by something in init_templates.php

Starting in ZC 1.5.1, there's now a /logs directory where the debug-log files are stored. Did you check there? Did you create that directory when you upgraded from v1.5.0 to v1.5.3?

If the /logs directory is present and there are no debug logs, you could edit /includes/application_top.php, around line 74 you'll see

/**
 * boolean if true the autoloader scripts will be parsed and their output shown. For debugging purposes only.
 */
define('DEBUG_AUTOLOAD', false);

Update that section to read:

/**
 * boolean if true the autoloader scripts will be parsed and their output shown. For debugging purposes only.
 */
define('DEBUG_AUTOLOAD', false);

define ('STRICT_ERROR_REPORTING', true);  //-Either true or false, keep at false unless needed for debug

That "should" open the door for a debug-log file to be generated. Make sure to update the define and set it to false when you're finished.

28 Nov 2014, 5:39 PM
#3
kcb410 avatar

kcb410

Zen Follower

Join Date:
Dec 2008
Location:
Toronto
Posts:
348
Plugin Contributions:
0

Re: blank screen being caused by something in init_templates.php

lat9:

Starting in ZC 1.5.1, there's now a /logs directory where the debug-log files are stored. Did you check there? Did you create that directory when you upgraded from v1.5.0 to v1.5.3?

If the /logs directory is present and there are no debug logs, you could edit /includes/application_top.php, around line 74 you'll see

/**

  • boolean if true the autoloader scripts will be parsed and their output shown. For debugging purposes only.
    */
    define('DEBUG_AUTOLOAD', false);
> Update that section to read:
> ```
/**
 * boolean if true the autoloader scripts will be parsed and their output shown. For debugging purposes only.
 */
define('DEBUG_AUTOLOAD', false);

define ('STRICT_ERROR_REPORTING', true);  //-Either true or false, keep at false unless needed for debug

That "should" open the door for a debug-log file to be generated. Make sure to update the define and set it to false when you're finished.

Hello Lat9,

Thank you for the reply.
We do have a logs folder that was functioning fine during the upgrade of the desktop template. I'll try your code this afternoon.

Regards,
Paul

28 Nov 2014, 6:06 PM
#4
kcb410 avatar

kcb410

Zen Follower

Join Date:
Dec 2008
Location:
Toronto
Posts:
348
Plugin Contributions:
0

Re: blank screen being caused by something in init_templates.php

lat9:

/**

  • boolean if true the autoloader scripts will be parsed and their output shown. For debugging purposes only.
    */
    define('DEBUG_AUTOLOAD', false);
> Update that section to read:
> ```
/**
 * boolean if true the autoloader scripts will be parsed and their output shown. For debugging purposes only.
 */
define('DEBUG_AUTOLOAD', false);

define ('STRICT_ERROR_REPORTING', true);  //-Either true or false, keep at false unless needed for debug

That "should" open the door for a debug-log file to be generated. Make sure to update the define and set it to false when you're finished.

Hello Lat9,

I've added that code and it's now generating the following error:

[28-Nov-2014 09:57:58 America/New_York] PHP Fatal error: Call to a member function RecordCount() on a non-object in /home/kcbgraph/public_html/2014DevOct22014/includes/modules/category_row.php on line 18

Which references the following line of code in category_row.php:

$num_categories = $categories->RecordCount();

Any thoughts on what might cause that error?

Regards,
Paul