I have installed a fresh version of joomla 4.2.1 with edulif template and PHP8.0.
I could locate multiple problems.
First Problem:
/joomla4/templates/edulif/error.php:71
Object of class stdClass could not be converted to string
echo $theme_url . '/css/presets/' . $preset . '.css';
The variable "$preset" is an object and not a string.
object(stdClass)#737 (1) { ["presets"]=> string(7) "preset1" }
To solve this problem, the parameter in line 59 must be changed.
Checked the current version of helix ultimate at github.
-> https://github.com/JoomShaper/helix-ultimate/blob/master/templates/shaper_helixultimate/error.php#L59
It should look like this:
$preset = $params->get('preset', json_encode(['preset' => 'preset1']));
if (!empty($preset) && is_string($preset))
{
$preset = json_decode($preset);
}
if (!empty($preset->preset)) {
$preset = $preset->preset;
}
Second Problem:
JROOT/templates/edulif/html/mod_login/default.php:70
count(): Argument #1 ($value) must be of type Countable|array, null given
if (count($twofactormethods) > 1) :
The problem here is a missing entry.
$twofactormethods = AuthenticationHelper::getTwoFactorMethods();
Do not forget to add a use statement at the beginning of the file or you will get a error-message.
use Joomla\CMS\Helper\AuthenticationHelper;
The variable "twofactormethods" is not set at all and as a result count fails.
If you add the mentioned line in line 22, the login module will work again.
It should then look like this after you have added the line.
$twofactormethods = AuthenticationHelper::getTwoFactorMethods();
HTMLHelper::_('behavior.keepalive');
HTMLHelper::_('bootstrap.tooltip');