Problembeschreibung / Aufgabenstellung

An einem konkreten Beispiel soll verdeutlicht werden, wie man spezielle Inhaltsschnippsel innerhalb von Joomla-Beiträgen platzieren kann. Ein in der Praxis denkbarer Fall wäre mitten in Joomla Beiträgen einfach Google-Adsense-Anzeigen einzublenden, ohne dieses jedes mal komplett als Scriptschnippsel einfügen zu müssen. Wir wollen also diesen Adsense-JavaScript-Schnippsel einmal ablegen und dann beliebig oft und einfach einbinden können. Das alles soll möglich sein, ausschließlich mit Joomla Board-Mitteln.

 

Lösung

Im Prinzip ist es ganz einfach, wenn man um die Möglichkeiten weiss, die Joomla uns für solche Zwecken schon liefert. Es ist nicht notwendig nach Komponenten zu suchen mit denen man Adsense-Anzeigen plazieren kann oder dafür gar Geld auszugeben.

Was wir brauchen und Joomla uns auch bereitstellt:

  1. Ein Plugin, welches uns Module in den Content einbindet. Genau das haben wir und nennt sich unter Joomla Inhalt - Modulpositionen laden, wie immer zu finden in der Liste der Plugins. Dahinter arbeitet das Plugin plugins/content/loadmodule.
  2. Weiterhin brauchen wir ein Module mit dem wir einfache Inhalte veröffentlichen können. Auch das gibt es. Wir finden das Modul in der Modulliste unter dem Namen Eigene Inhalte (Leeres Modul). D.h. wir haben hier ein Modul welches zunächst einmal nichts macht, es ist leer, eben solange bis wir dort einen Inhalt einpflegen.

Diese beiden Bausteine lösen unser Problem.



Umsetzung im Detail

Für die diese Zaunspfähle als Wink nicht genügen, hier noch eine Step-by-Step-Anleitung:

  1. Wir laden kopieren uns von der Google-Adsense-Seite unser JavaScript in die Zwischenablage.
  2. Wir gehen auf die Liste der Module, klicken hier auf Neu und wählen in der Liste der verfügbaren Module das Modul Eigene Inhalte (Leeres Modul) an.
  3. In unserer Modulliste sollte jetzt mindestens eine solches Modul stehen. Das rufen wir auf und befinden uns nun auf der Seite wo wir das Modul konfigurieren können. Hier mal die wichtigsten Einstellungen zum Modul
    1. In den Titel geben wir z.B. ein Google Analytics 2 Blöcke in Beitrag-Vollansicht.
    2. Nach unten gescrollt finden wir in diesem Modul im Bereich Benutzerdefinierte Ausgabe einen Texteditor. Den schalten wir auf die HTML-Ansicht um und kopieren in den Inhalt unser Adsense-JavaScript aus der Zwischenablage hinein.
    3. In unserem Beispiel wollen wir das Modul später nicht über seinen Titel, sondern über seine Modulposition aufrufen. Hier machen wir eine Besonderheit. Da das Modul ja nicht wirklich an einer Modulposition des Templates erscheinen soll, sondern mitten in unseren Beiträgen, denken wir uns einen Positionsnamen aus, den es so nicht im Template gibt, z.B. inContentPlugin. Diesen Tragen wir im Optionsfeld Position ein.
      Evtl. kann man noch die Titelanzeige deaktivieren. Alle anderen Einstellungen können wir so belassen und speichern unsere Einstellungen. Achtung in der Liste finden wir unser Modul jetzt unter dem neu in das Feld Titel eingegebenen Namen wieder.
  4. Wir verlassen unsere Modulliste und wechseln in die Liste unserer Plugins. Dort suchen wir unser Plugin Inhalt - Modulpositionen laden und klicken es zur Bearbeitung an.
  5. Im Bearbeitungsfenster für das Plugin sollten wir uns schon mal etwas Zeit nehmen um gründlich den angezeigten Beschreibungstext zu lesen, denn dieser erläutert sehr gut, wie mit dem Plugin gearbeitet werden kann. Wichtige Erkenntnis, es gibt zwei Betriebsmodi über den wir das Plugin einstellen können, also zwei Möglichkeiten wie das zu ladende Modul erkannt werden soll. Einmal über den Modulname und dann über die Modulposition. Wie oben geschrieben wollen wir über die Modulposition arbeiten. Auch zu allen anderen Parametern für den Pluginaufruf werde ich nichts weiter sagen. Das einzige was wir hier einstellen können, ist links in den Basisoptionen die Art der Style-Ausgabe. Für unsere Zwecke wählen wir Mit DIV umgeben (xhtml).
  6. Jetzt kommt der letzt Schritt. Wir öffnen unseren Joomla-Beitrag und geben an der Stelle, wo wir die Anzeige erscheinen lassen wollen unseren Plugin-Token ein, in der Syntax, wie in der Pluginbeschreibung gelesen. In unserem Beispiel dies:
    (loadposition inContentPlugin)
    (die runde Klammern durch geschweifte ersetzen! Hier runde notw. weil sonst weggeparst) - mit loadposition erkennt der Joomla-Content-Pluginparser unser LoadModule-Plugin und ersetzt diesen Token durch den Inhalt des Moduls oder der Module welche an der Modulposition inContentPlugin veröffentlich wurden.
    Da unsere Anzeigen nur in der Beitrags-Vollansicht erscheinen sollen, ist es wichtig dieses Pluginaufruf erst nach dem Weiterlesen-Button einzufügen.

Das wars.

Ein kleiner Nachtrag noch. Je nach dem welchen Editor Sie unter Joomla einsetzen, müssen Sie aufpassen, dass dieser nicht regelmäßig beim Speichern/Öffnen oder Ansicht-Toggle den Text von JavaScript befreit und damit Ihr Adsense-Script löscht. Üblicherweise läßt sich das im Editor konfigurieren.

Wer evtl. pfiffig ist, könnte für sich noch als Erleichterung eine Content-Editor-Button programmieren, über den man dann dieses Adsens Schnippselchen per Klick einfügen kann ohne immer die genaue Syntax im Kopf haben zu müssen.

Viel Spass.