OJS 3.4.0.1 - PHP Fatal error: Uncaught Error: Call to a member function getId() on null

Hello,

OJS: 3.4.0.1
PHP: 8.1

Here is another fatal error where I need your help to sort it out.

[27-Jul-2023 11:47:44 UTC] PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /home/seisense/journal.seisense.com/lib/pkp/classes/galley/Galley.php:50
Stack trace:
#0 /home/seisense/journal.seisense.com/cache/t_compile/c18f74cb7ec86d000ca85f6baec01c420e4e3321^7cf1cd52b8ba8108de77f197078de34b733dd394_0.app.frontendobjectsarticle_summary.tpl.php(97): PKP\galley\Galley->getViews()
#1 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_64c259600062a8_72423677()
#2 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode()
#3 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(217): Smarty_Template_Compiled->render()
#4 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(386): Smarty_Internal_Template->render()
#5 /home/seisense/journal.seisense.com/cache/t_compile/c18f74cb7ec86d000ca85f6baec01c420e4e3321^756a7119cb48731a8fd45c250b45f4bcca2d6b01_0.app.frontendpagessearch.tpl.php(117): Smarty_Internal_Template->_subTemplateRender()
#6 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_64c2595fdb8742_97027994()
#7 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode()
#8 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(217): Smarty_Template_Compiled->render()
#9 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(238): Smarty_Internal_Template->render()
#10 /home/seisense/journal.seisense.com/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(134): Smarty_Internal_TemplateBase->_execute()
#11 /home/seisense/journal.seisense.com/lib/pkp/classes/template/PKPTemplateManager.php(1325): Smarty_Internal_TemplateBase->display()
#12 /home/seisense/journal.seisense.com/pages/search/SearchHandler.php(176): PKP\template\PKPTemplateManager->display()
#13 [internal function]: APP\pages\search\SearchHandler->search()
#14 /home/seisense/journal.seisense.com/lib/pkp/classes/core/PKPRouter.php(334): call_user_func()
#15 /home/seisense/journal.seisense.com/lib/pkp/classes/core/PKPPageRouter.php(277): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest()
#16 /home/seisense/journal.seisense.com/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPPageRouter->route()
#17 /home/seisense/journal.seisense.com/lib/pkp/classes/core/PKPApplication.php(373): PKP\core\Dispatcher->dispatch()
#18 /home/seisense/journal.seisense.com/index.php(21): PKP\core\PKPApplication->execute()
#19 {main}
thrown in /home/seisense/journal.seisense.com/lib/pkp/classes/galley/Galley.php on line 50

I have customized a bootstrap theme a little and In article_summary.tpl, I have added the following line to get the PDF count on TOC (if this has to do anytihng with this error):

{foreach from=$galleys item=galley name=galleyList}
{$galley->getGalleyLabel()}: {$galley->getViews()} &nbsp
{/foreach}

Looking forward for your help
seisense

Hi @seisense,

Yes, I think the issue is related to the modification. On the site-wide search, search results are presented outside of any particular journal, but the deprecated getViews function assumes that the user is browsing the site within a single journal.

The quickest thing is probably to check if {$currentJournal} exists in the template before calling {$galley->getViews()}.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher ,
Thanks for quick tip. I ll look into it.
Regards
seisense

This topic was automatically closed after 10 days. New replies are no longer allowed.