Ergebnis 1 bis 8 von 8

Thema: Verständnisproblem: Wann wird gezählt und wozu sind die Inserttags?

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Frage Verständnisproblem: Wann wird gezählt und wozu sind die Inserttags?

    Im Wiki ist zwar alles sehr ausführlich erklärt, aber trotzdem komme ich nicht ganz klar. Welcher PHP-Code und welche Inserttags sind für die Ausgabe zuständig und welche für die Zählung? Diesbezüglich irritiert mich auch dieses Beispiel, was im Wiki nicht dokumentiert ist. Ich bin inzwischen fast der Meinung, daß der Insertttag
    Code:
    {{visitors::katid::count}}
    der eigentliche Zähler ist, der unbedingt im Template eingebunden werden muß, damit überhaupt erst gezählt wird. Alles andere, also z.B.
    Code:
    {{visitors::katid::online}}
    sind dann Inserttags für die Ausgabe. Wenn das so ist, sollte das im Wiki unbedingt erwähnt werden.

    Weiterhin wird beim Beispiel im Tracker noch der Count-Inserttag ergänzt:
    Code:
    {{visitors::katid::count::id}}
    Statt id kann dem Counter dann wohl noch ein Seitenalias oder eine Seiten-ID mitgegeben werden. Heißt das, daß die Erweiterung jetzt auch endlich einzelne Seiten zählen kann, ohne das man Hunderte von Kategorien anlegen muß? Ich teste nämlich selbst gerade mit dieser Möglichkeit um die Zugriffe auf einzelne Nachrichten zu zählen. Mein Code im Template will aber noch nicht so richtig:
    Code:
    {{cache_visitors::1::count::<?php echo $this->pid; ?>-<?php echo $this->id; ?>}}
    Das könnte aber an meinem eingangs erwähnten Verständnisproblem liegen.
    Oder ich habe das Tag an der falschen Stelle eingebunden (in einem Nachrichtentemplate) und es kollidiert jetzt mit dem Count-Tag aus dem Visitors-Template. Aber ich teste das mal weiter.

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Die Insertags brauchst du nur, wenn du NICHT das Frontendmodul von Visitors nutzt und alles per Hand machen willst.

    Im Wiki steht auch ganz deutlich :

    ... gibt es Insert-Tags zum Anzeigen der Werte
    Code:
     {{visitors::katid::name}}
     {{visitors::katid::online}}
     {{visitors::katid::start}}
     ...
    ... Eine Alternative für "nur zählen" wäre ....
    Code:
    {{cache_visitors::katid::count}}
    Also ja, dieser Tag zählt.



    {{visitors::katid::count::id}}
    Wo haste den her? Kenne ich nur ohne ::id
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Den Link hatte ich oben genannt.

    Nachdem ich das Wiki nochmal öfters durchgelesen habe fielen mir die Abschnitte Anzeige und Zählung auf. Nach Zählung kommt dann aber Weitere Insert-Tags, die dann wohl wieder der Anzeige zuzuordnen sind.
    Unter Besonderheiten - Keine Zählung steht dann der irritierende Satz "Es muss ein Frontend Modul angelegt und eingebunden werden, bzw. der Insert-Tag für die Zählung (nur für Profis), sonst kann nicht gezählt werden." Da steht zwar "bzw.", aber das klingt für mich wie "alternativ". Zudem gehört der Satz wohl unter Zählung hin.

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Der Link ist ein Feature Request im Ticket System, welches aber noch nicht umgesetzt ist. Sonst wäre das Ticket closed.

    Nach Zählung kommt dann aber Weitere Insert-Tags, die dann wohl wieder der Anzeige zuzuordnen sind.
    Ja, steht auch da. Diese Tags jedoch werden im Frontend Modul nicht mit ausgegeben. (in Backend Statistik aber)

    Zudem gehört der Satz wohl unter Zählung hin.
    Nein. Die Hinweise dort beziehen sich darauf was der Grund sein kann, das nicht gezählt wird. Manch einer war der Meinung, man braucht das Modul nur zu installieren und der Rest geht automatisch. So ist es ebend nicht.
    Daher die Aufzählung der Gründe die das FE Modul oder den Zähl-Tags mit einbezieht.
    Den Hinweise auf die Alternative habe ich mal im Satz mit eingebaut.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    HaPe
    Gast

    Standard

    Hallo,

    ich habe die Erweiterung unter Contao 3.2.4 installiert und habe ein Frontendmodul nicht im Layout eingebunden, sondern in einer Ecke des Hauptbereichs auf der Startseite (weil ich die Statistik nicht auf jeder Seite haben will).

    1. Verstehe ich das richtig, dass damit nur die Zugriffe auf die Startseite gezählt werden, weil auf den anderen Seiten kein Zähler vorhanden ist?
    2. Wenn das so ist, macht es dann Sinn zusätzlich einen Zähler-Inserttag in das Layout zu setzen? Wird dann die Startseite doppelt gezählt, da dort ja auch noch das Frontendmodul ist? Kann man die Zählung durch das Frontendmodul deaktivieren?
    3. Wie genau binde ich einen Zähler-Inserttag in das Layout ein? Ich habe beispielsweise ein Modul vom Typ "eigener HTML-Code", in dem mein Titel-Logo in das Layout eingebunden wird. Wäre da ein passender Ort um den <span>...</span> (lt. Wiki) mit dem Insert-Tag zu plazieren?
    4. Ich sehe momentan keinen Unterschied zwischen Last-Zählung und Lese-Zählung. Wie müsste sich der Unterschied praktisch äußern?


    Danke
    HaPe

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von HaPe Beitrag anzeigen
    Hallo,

    ich habe die Erweiterung unter Contao 3.2.4 installiert und habe ein Frontendmodul nicht im Layout eingebunden, sondern in einer Ecke des Hauptbereichs auf der Startseite (weil ich die Statistik nicht auf jeder Seite haben will).

    1. Verstehe ich das richtig, dass damit nur die Zugriffe auf die Startseite gezählt werden, weil auf den anderen Seiten kein Zähler vorhanden ist?
    Ja.

    Zitat Zitat von HaPe Beitrag anzeigen
    • Wenn das so ist, macht es dann Sinn zusätzlich einen Zähler-Inserttag in das Layout zu setzen?
    • wird dann die Startseite doppelt gezählt, da dort ja auch noch das Frontendmodul ist?
    • Kann man die Zählung durch das Frontendmodul deaktivieren?
    Ja, kann man machen.
    Nein, da ich ein Blocker eingebaut habe (wegen IE mal wieder) von 3 Sekunden. (Hit Blocker for IE8 Bullshit and Browser Counting)
    Nein, aber es gibt andere Möglichkeiten, dazu siehe unten die Varianten.

    Zitat Zitat von HaPe Beitrag anzeigen
    • Wie genau binde ich einen Zähler-Inserttag in das Layout ein? Ich habe beispielsweise ein Modul vom Typ "eigener HTML-Code", in dem mein Titel-Logo in das Layout eingebunden wird. Wäre da ein passender Ort um den <span>...</span> (lt. Wiki) mit dem Insert-Tag zu plazieren?
    Ja. Wäre eine Möglichkeit.

    Zitat Zitat von HaPe Beitrag anzeigen
    • Ich sehe momentan keinen Unterschied zwischen Last-Zählung und Lese-Zählung. Wie müsste sich der Unterschied praktisch äußern?
    Im Handbuch heißt es:
    • Last Zählung, serverseitig durch Contao
    • Lese Zählung, clientseitig durch Browser
      (nur im Contao cacheModus: Server- und Browsercache / Nur Browsercache)


    Das bedeutet bei Lastzählung wird nur gezählt, wenn es zu einem Seitenaufruf kommt in Contao. Dabei kann die Seite aus dem Contao Cache kommen oder neu generiert werden, in beiden Fällen wird gezählt. Geht man eine Seite weiter und wieder zurück zur vorherigen wird die vorherige wieder gezählt (nach frühestens 3 Sekunden siehe oben)
    Es gibt jedoch Browser die beim zurückblättern nicht die Seite anfordern sondern die aus dem Cache holen (egal was definiert ist). In dem Fall würde nicht gezählt werden können, der Server bekommt ja nichts mit davon.

    Hat man nun den Browsercache zusätzlich in Contao eingeschaltet oder gar nur den Browsercache würde folgendes passieren.
    Beim zurückblättern wird die Seite aus dem Browser Cache geladen. Darin befindet sich eine Grafikdatei die jedoch über ein PHP Link generiert wird.
    Der Browser ruft diese daher immer auf. Somit kommt es auch zur Zählung, wenn die Seite aus dem Browser Cache kommt.


    So, zu deinem eigentlichem Ziel.
    Du willst auf allen Seiten zählen aber nur auf der Startseite die Ausgabe haben.

    Dazu gibt es mehrere Möglichkeiten.
    a)
    So wie du schon geschrieben hattest, einmal das Modul in einem Artikel zur Ausgabe auf der Startseite, und über eine HTML Modul im Layout eingebunden per Insert-Tag nur die Zählung nochmal einbauen.
    b)
    Umgekehrt, du nimmst ein Frontend Modul mit dem Template "mod_visitors_fe_invisible" und baust es als Modul ins Layout, somit würde nur gezählt, aber nichts angezeigt.
    Im Artikel dann auf der Startseite über die Insert-Tags zu Anzeige die Ausgabe selber bauen.
    c)
    Theoretisch müsste es auch mit zwei Frontend Modulen gehen.
    Ein FE Modul für die Anzeige im Artikel auf der Startseite und ein FE Modul für die Zählung (wie bei b) mit dem Template "mod_visitors_fe_invisible") im Layout.
    Dabei müsste man nur auf die Reihenfolge achten, damit die Zählung vor der Anzeige erfolgt. Sonst bekommt der erste Besucher die Zugriffs/Besucher Zahl 0 angezeigt und erst beim zweiten Aufruf dann 1 usw.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Es gibt noch eine Variante die ich im Einsatz habe, dabei gibt es die Besonderheit, das ich mit zwei Layouts arbeite.
    Layout 1 ist nur für die Startseite
    Layout 2 ist für alle anderen Seiten

    Hier ist es dann natürlich noch einfacher, je Layout kommt ein Modul, einmal mit Anzeige, einmal ohne. Wobei aus performance Sicht es auch hier besser ist, die Zählung im Layout 2 direkt durch das Insert-Tag für die Zählung zu verwenden (HTML Modul).
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  8. #8
    HaPe
    Gast

    Standard

    Hallo,

    wow ... Frage umfassend beantwortet. Vielen Dank dafür!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •