Ziel ist die Einrichtung von AdSense auf der mit Joomla erzeugten Homepage, allerdings soll für einzelne angemeldete Benutzer die Werbung abgeschaltet werden ("Freemium-Prinzip").

Den ersten Hinweis fand ich in der Joomla Dokumentation und entsprechend der Beschreibung habe ich ein Modul erstellt. Damit das Modul, wie von Google beschrieben, im Abschnitt <head> erscheint, habe ich eine neue Position im Template geschaffen und diese Position dem Modul zugewiesen. Nun wird die werbung angezeigt, egal ob ein registrierter Benutzer oder ein Gast auf der Seite ist.

Der nächste Tipp kam von Software-Lupe, ist schon etwas älter, trifft aber immer noch zu. Meine Werbung soll angezeigt werden, wenn Gäste oder registrierte Benutzer ohne Buchung der Werbefreiheit die Seite betrachten. Dazu habe ich zwei neue Benutzergruppen "Gast" und "Angemeldet" erzeugt.

Kompakter Ablauf in Joomla 3.9.0:

  1. Template, Position Head einbauen
    • Erweiterungen -> Templates -> Templates - eigenes Template auswählen, gegebenenfalls auch mehrere aktive Templates nacheinander
    • Overrides erstellen -> Module "mod_custom"
    • Editor -> HTML -> mod_custom -> default.php auswählen
      • Code ersetzen
      • <?php
        /**
         * @package     Joomla.Site
         * @subpackage  mod_custom
         *
         * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
         * @license     GNU General Public License version 2 or later; see LICENSE.txt
         */
        defined('_JEXEC') or die;
        if ($moduleclass_sfx || $params->get('backgroundimage')) { ?>
        <div class="custom<?php echo $moduleclass_sfx; ?>" <?php if ($params->get('backgroundimage')) : ?> style="background-image:url(<?php echo $params->get('backgroundimage'); ?>)"<?php endif; ?> >
            <?php echo $module->content; ?>
        </div>
        <?php } else {
          echo $module->content;
        } ?>
    • Editor -> templateDetails.xml auswählen
      • unter <positions> neue Zeile "<position>head</position>" einfügen und "Speichern & Schließen"
    • Editor -> index.php auswählen
      • </head> suchen, oberhalb neue Zeile "<jdoc:include type="modules" name="head" style="no" />" einfügen und "Speichern & Schließen"
  2. Benutzergruppen einbauen
    • Benutzer -> Gruppe -> neue Gruppe
      • Gruppentitel "Gast", übergeordnete Gruppe "Public"
      • Gruppentitel "Angemeldet", übergeordnete Gruppe "Gast"
    • Benutzer -> Zugriffsebene -> neue Zugriffsebene
      • Ebenentitel "Werbung", Benutzergruppen mit Zugriff: "Gast"
      • Ebene "Registered" wählen, Benutzergruppen mit Zugriff: "Angemeldet" ergänzen
    • Benutzer -> Verwalten -> Optionen
      • Gruppe für neue Benutzer: "Angemeldet"
      • Gast-Benutzergruppe: "Gast"
    • Konfiguration -> Berechtigungen (Berechtigungseinstellungen) -> Benutzergruppe "Angemeldet" -> Seitenanmeldung -> "erlaubt"
  3. Modul erzeugen
    • System -> Konfiguration -> Site (Website) -> Standard Editor -> "Editor - keine" (bisherigen merken!)
    • System -> Konfiguration -> Textfilter (Textfiltereinstellungen) -> Super Users -> "keine Filterung"
    • Erweiterungen -> Module -> + Neu -> Eigenes Modul
      • Titel: AdSense
      • Inhalt: Code-Snippet von Google AdSense
      • Position: Head
      • Zugriffsebene: Werbung