Es gibt verschiedene Loesungsansaetze:
Die einfachste: Die Sichtbarkeit des Moduls im Backend auf "registriert" oder hoeher stellen.
Wenn es sich bei allen Besuchern um Benutzer einer der Gruppen handelt:
- In der index.php des aktuellen Templates eine Abfrage auf Benutzer Id
PHP-Code:
$haystack = Array(23, 42, ...);
<?php if (in_array(JFactor::getUser()->get('id'), $haystack) && $this->countModules('bazquirk')) : ?>
<div id="foobar">
<jdoc:include type="modules" name="bazquirk" style="xhtml" />
</div>
<?php endif; ?>
Ob nun innerhalb der Abfrage der Div-Container ebenso verschwinden soll, muss man schauen, ansonsten ausserhalb setzen. Die Abfrage liesse sich auch auf die Gruppen Id legen: Registriert, Editor etc. (->get('gid')) - Fuer mehr als eine Gruppe das Array anpassen oder die Abfrage auf eine einzelne (g)Id begrenzen.
Auch wenn der Code nicht getestet ist, sollte es so funktionieren. Der Nachteil hier: man muss per Hand die Liste der Ids erstellen und in den Code sobald neue Ids hinzukommen oder alte verschwinden.
Deine Möglichkeit mit dem Plugin geht auch, allerdings wuerd ich so nicht vorgehen. Die gerenderte Ausgabe sollte man nur anfassen, wenn es gar nicht anders geht.
Fast mit Kanonen auf Spatzen aber dennoch mein Favorit ist die letzte Methode, der Adanced Module Manager. Hier kann komfortabel im Backend eingestellt werden, wie sich ein Modul zu verhalten hat. Die Komponente ersetzt den Core-Module Manager, und bindet sich nahtlos ins Backend ein.
Alle Einstellungen hier aufzuzaehlen waere bloed, darum hier eine Uebersicht:
Lesezeichen