Risolto così nel template creando due posizioni per i moduli (nonloggati e loggati):
<?php
$user = &JFactory::getUser();
$userId = $user->get('id');
// Se l'ID utente = 0 il modulo viene visualizzato
if ($userId == 0) :
?>
// In questo punto viene scritto lo snippet che richiama il modulo da nascondere
<jdoc:include type="modules" name="nonloggati" style="" />
<?php else : ?>
// qui il codice che deve apparire se l'utente è loggato, in questo caso un modulo alternativo
<jdoc:include type="modules" name="loggati" style="" />
<?php endif; ?>