Installing this plugin on Zen Cart 1.5.8a with PHP 7.4 causes the customer-side page to appear blank. I can log in to the admin interface and see the plugin under Tools > Layout Boxes Controller.
The log file looks like this.
Code:
[02-Jan-2024 13:08:23 America/Vancouver] PHP Fatal error: Uncaught Error: Call to a member function get_template_dir() on null in /WEBROOT/includes/languages/english/extra_definitions/responsive_classic/logo_sidebox_defines.php:26
Stack trace:
#0 /WEBROOT/includes/classes/ResourceLoaders/FilesLanguageLoader.php(39): include_once()
#1 /WEBROOT/includes/classes/ResourceLoaders/CatalogFilesLanguageLoader.php(92): Zencart\LanguageLoader\FilesLanguageLoader->loadFileDefineFile('includes/langua...')
#2 /WEBROOT/includes/classes/ResourceLoaders/CatalogFilesLanguageLoader.php(18): Zencart\LanguageLoader\CatalogFilesLanguageLoader->LoadLanguageExtraDefinitions()
#3 /WEBROOT/includes/classes/ResourceLoaders/LanguageLoader.php(29): Zencart\LanguageLoader\CatalogFilesLanguageLoader->loadInitialLanguageDefines(Object(Zencart\LanguageLoader\LanguageLoader))
#4 /WEBROOT/includes/init_includes/init_templates.php(87): Zencart\LanguageLoader\LanguageLoader->loadInitialLanguageDefines()
#5 /WEBROOT/includes/autoload_func.php(40): require_once('/home/SERVERNAME/...')
#6 /WEBROOT/includes/application_top.php(237): require('/home/SERVERNAME/...')
#7 /WEBROOT/index.php(25): require('/home/SERVERNAME/...')
#8 {main}
thrown in /WEBROOT/includes/languages/english/extra_definitions/responsive_classic/logo_sidebox_defines.php on line 26
[02-Jan-2024 13:08:23 America/Vancouver] Request URI: /1.5.8/index.php?main_page=index&cPath=131, IP address: 75.156.33.72
--> PHP Fatal error: Uncaught Error: Call to a member function get_template_dir() on null in /WEBROOT/includes/languages/english/extra_definitions/responsive_classic/logo_sidebox_defines.php:26
Stack trace:
#0 /WEBROOT/includes/classes/ResourceLoaders/FilesLanguageLoader.php(39): include_once()
#1 /WEBROOT/includes/classes/ResourceLoaders/CatalogFilesLanguageLoader.php(92): Zencart\LanguageLoader\FilesLanguageLoader->loadFileDefineFile('includes/langua...')
#2 /WEBROOT/includes/classes/ResourceLoaders/CatalogFilesLanguageLoader.php(18): Zencart\LanguageLoader\CatalogFilesLanguageLoader->LoadLanguageExtraDefinitions()
#3 /WEBROOT/includes/classes/ResourceLoaders/LanguageLoader.php(29): Zencart\LanguageLoader\CatalogFilesLanguageLoader->loadInitialLanguageDefines(Object(Zencart\LanguageLoader\LanguageLoader))
#4 /WEBROOT/includes/init_includes/init_templates.php(87): Zencart\LanguageLoader\LanguageLoader->loadInitialLanguageDefines()
#5 /WEBROOT/includes/autoload_func.php(40): require_once('/home/SERVERNAME/...')
#6 /WEBROOT/includes/application_top.php(237): require('/home/SERVERNAME/...')
#7 /WEBROOT/index.php(25): require('/home/SERVERNAME/...')
#8 {main}
thrown in /WEBROOT/includes/languages/english/extra_definitions/responsive_classic/logo_sidebox_defines.php on line 26.
Stack trace seems to be ordered such that #2 calls #1 calls #0
Since the plugin was last updated in 2011 and PHP is unstable its not a surprise that something is going wrong.
There are three PHP files in this plugin.
logo_sidebox_defines.php
logo_sidebox.php
tpl_logo_sidebox.php
logo_sidebox_defines.php treats the default logo as logo_test.jpg but no such file is included by default. The readme says that you should "Save your new image to includes/templates/YOUR_TEMPLATE/images/your_image.???" I updated those three defines but the customer-side site still appears blank and the same error appeared in the logs.
define('LOGO_SIDEBOX_IMAGE_WIDTH', '125');
define('LOGO_SIDEBOX_IMAGE_HEIGHT', '125');
define('LOGO_SIDEBOX_IMAGE', 'logo_test.jpg');
I will keep staring at this and looking for other hypotheses.
Bookmarks