pkp / bootstrap3

A community-built theme for OJS 3 that implements Bootstrap 3 components.
GNU General Public License v3.0
55 stars 98 forks source link

Fatal error on first page using template on system front page #179

Closed bjarman closed 2 months ago

bjarman commented 2 years ago

Hi! I am getting this error when using the Bootstrap 3 template on OJS main site. There should be a list of journals but instead i see this error. Default template works. Is Bootstrap 3 template only suitable for journal?

Fatal error: Uncaught Error: Call to a member function eof() on array in /var/www/ojs/lib/pkp/classes/template/PKPTemplateManager.inc.php:1447 Stack trace: #0 /var/www/ojs/cache/t_compile/65bfc3e024c2e9104f46e23b73376a9455e3df0e^51cfb9321c891ada9323e7942962579e7e4324d1_0.app.frontendpagesindexSite.tp.php(60): PKPTemplateManager->smartyIterate() #1 /var/www/ojs/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_629613dcb0e848_75510584() #2 /var/www/ojs/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode() #3 /var/www/ojs/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render() #4 /var/www/ojs/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render() #5 /var/www/ojs/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(134): SmartyInternal in /var/www/ojs/lib/pkp/classes/template/PKPTemplateManager.inc.php on line 1447

bjarman commented 2 years ago

Line 60 in the t_compile/...frontendpageindexSite.tp.php reads: echo $_block_plugin1->smartyIterate(array('from'=>'journals','item'=>'journal'), null, $_smarty_tpl, $_block_repeat);

mah-rob commented 2 years ago

Download from master and change out this file: \templates\frontend\pages\indexSite.tpl

The change from:

iterate -> foreach, journals -> $journals, and the if block with $journals->getPageCount() removed

, will load your journals list on the main page again.

bjarman commented 2 years ago

Hi! Thank you for this. However I need you to clarify a bit. The file indexSite.tpl exists both in "plugins/themes/bootstrap3/templates/frontend/pages/indexSite.tpl" but also in "templates/frontend/pages/indexSite.tpl". So which file should replace which? Thanks! /F

mah-rob commented 2 years ago

I guess you did as I did, downloaded the bootstrap3-v3_2_0-4.tar.gz file and uploaded into OJS.

The problem is that the zip file contains an "old" indexSite.tpl file, so you would need the replace the file in your plugins/themes/bootstrap3/templates/frontend/pages directory.

The correct one is in the master branch. https://github.com/NateWr/bootstrap3/blob/master/templates/frontend/pages/indexSite.tpl

bjarman commented 2 years ago

This works! Thank you!

kaitlinnewson commented 2 months ago

Fixed in https://github.com/pkp/bootstrap3/pull/165 and ready to close @asmecher.

asmecher commented 2 months ago

Closing, thanks!