expCounter in Contao (früher:Typolight) einbinden
Mit freundlicher Genehmigung von Magnus hier eine Anleitung wie man den expCounter
in das Content Management System(CMS) Contao einbauen kann.
Prinzipiell läuft es folgendermaßen: Der Code zum Einbinden des expCounter wird in Contao in ein neu erstelltes Template gepackt und dann
per (contao-eigenem) insert-tag in ein neues Modul eingebunden. Dieses Modul wird dann in alle zu zählenden Contao Seitenlayouts eingefügt.
Hat bei mir jetzt auf Anhieb geklappt.
Auch wenn die Anleitung etwas lang aussieht, es ist recht leicht gemacht. Und der wesentliche Vorteil ist, dass diese Einbindung in Contao
auch updatesicher ist. Das heißt, dass bei der Aktualisierung des CMS die angepassten Dateien nicht überschrieben werden.
Jetzt im Detail:
- expCounter installieren, wie in der Installationsanleitung beschrieben
- Unter Administration->Hilfe & Kontakt den notwendigen php-Code generieren lassen
- In Contao in Layout->Templates ein neues Template erstellen
Dabei ist egal, welches Template als Originaltemplate ausgewählt wird, bei mir war der Eintrag be_error.tpl der oberste in der Liste, den habe ich genommen. Nur den Namen muss man sich merken. Über den Button 'Template erstellen' wird eine Kopie des ausgewählten Originaltemplates im Ordner templates angelegt. Im Zielverzeichnis sollte der Eintrag templates stehen, ist bei mir auch der einzige. Das neu erstellte Template bekommt nun einen ordentlichen Namen, durch Klick auf das Bleistiftsymbol neben dem gemerkten Template-Namen macht das dazu notwendige Formular auf. Ich habe mein Template expCounter genannt. Dann Speichern und Schließen. Jetzt wird durch Klick auf das Bearbeiten-Symbol das Template zum Einfügen des expCounter-Codes geöffnet. Der bestehende Code wird komplett rausgelöscht und durch den generierten ExpCounter-Code ersetzt. Der Inhalt sollte dann ziemlich so aussehen:
<?php $chCounter_page_title = html_entity_decode($this->pageTitle, ENT_QUOTES); $chCounter_visible = 0; $chCounter_status = 'active'; include( '/Pfad-zum-Counterverzeichnis/counter.php' ); ?>
'Pfad-zum-Counterverzeichnis' ist natürlich vom Server und Installationsverzeichnis abhängig, und wurde ja generiert. Die erste Zeile des php-Codes sorgt
dafür, dass im Backend des expCounter bei den Seiten auch der Seiten-Title angezeigt wird.
Die halbe Miete haben wir nun schon, jetzt noch das neue Frontend-Modul:
- In Themes wird beim aktuellen Theme auf das Symbol Frontend-Module bearbeiten geklickt
- Dann auf Neues Modul, unter Titel einen Namen für das Modul vergeben, ich hab das wieder expCounter genannt, und unter Modultyp ganz am Ende der Liste Eigener HTML-Code auswählen, damit erscheint dann unter Text/HTML die Eingabebox für unseren Code:
(in diese Box wird die folgende Zeile eingetragen, sonst wirklich nichts!)
{{file::expCounter.tpl}}
- expCounter.tpl ist dabei der Name des vorhin neu erstellten Templates plus die Dateiendung .tpl, danach Speichern und Schließen
- Das Ganze ist ein sogenannter Insert-Tag und bindet die nach den zwei Doppelpunkten genannte Datei aus dem Contao-Ordner templates in das Frontend-Modul ein
- Dieses eben erstellte neue Frontend-Modul wird nun in alle Seitenlayouts eingebunden. Dazu beim aktiven Theme auf ' Seitenlayouts bearbeiten' klicken und bei allen Seitenlayouts das neue Modul einbinden. Ich habe dazu jeweils den letzten Eintrag unter Frontend-Module durch Klick auf das Pluszeichen kopiert und das Modul expCounter in der Fußzeile zugewiesen.
- Das jeweilige Layout dann noch Speichern und Schließen und fertig ist die Laube ;-)
Von der Anzeige des Counters im Frontend rate ich gerne ab. Zum einen nützen die Zugriffszahlen keinem Besucher etwas, zum anderen sorgt der html-Code der Countertabelle
für zwei (kleine) Fehler bei der Validität des Codes. Und Contao ist da so schön valide ;-))
Feedback wie immer herzlich willkommen! (Originalbeitrag)
viele Grüße
magnum
Download & Installation
Aktuelle Version: expCounter-1.2.1.zip (~820kb)
MD5: 5be70e60dcc923e67055b4e9440decd0
Letztes Update: expCupdate-1.2-1.2.1.zip
MD5: 30edbf142459142448aa4dcba5cff392
Docs

