Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Bei Aufruf einer Detailseite einen Zähler hochzählen

  1. #1
    Contao-Nutzer
    Registriert seit
    03.10.2020.
    Beiträge
    41

    Standard Bei Aufruf einer Detailseite einen Zähler hochzählen

    Hallo,

    ich habe in Contao 4.13 mit MM 2.3 eine Liste für Text-Artikel erstellt.
    Nun möchte ich jeweils beim Aufruf der Detailseite für einen Artikel aus der Liste einen Counter hoch zählen um zu sehen wie oft der jeweilige im Laufe der Zeit aufgerufen wurde.

    Bei der Suche nach einem entsprechenden Hoo,k der beim Aufruf der Detailseite anspricht, um das zu realisieren bin ich leider noch nicht fündig geworden.

    Über einen Tipp würde ich mich freuen.
    Geändert von stu (06.03.2023 um 21:34 Uhr)

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von stu Beitrag anzeigen
    Bei der Suche nach einem entsprechenden Hoo,k der beim Aufruf der Detailseite anspricht, um das zu realisieren bin ich leider noch nicht fündig geworden.
    Ein Hook bzw. Event was beim Aufruf der Liste irgend was schreibt, gibt es nicht - das Schreiben in das Item kannst Du mit der MM-API bewerkstelligen - siehe die Beispiele im Handbuch und suche mal hier nach "Import" im MM-Forum

    Du könntest gucken, ob Du Dich in das https://github.com/MetaModels/core/b...mListEvent.php einklinkst oder das über das Template initiierst.

  3. #3
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    ... vllt ist es aber einfacher, Module wie https://extensions.contao.org/?q=bug...isitors-bundle oder https://extensions.contao.org/?q=mat...matomo-tracker einzusetzen - die fischen dir im besten Falle auch diverse Bots mit raus

  4. #4
    Contao-Nutzer
    Registriert seit
    03.10.2020.
    Beiträge
    41

    Standard

    Habe jetzt einmal das Visitors Bundle ausprobiert. Bietet schnell einen schönen Überblick.
    Leider habe ich es nur geschafft die Anzahl der gesamten Besuche für den Aufruf aller Detailseiten (entspricht dem Contao-Artikel) zusammen zu erhalten.
    Da die einzelnen Detailseiten aber nicht über einen Contao-Artikel sondern über einzelne Datensätze aus der MM-Liste erzeugt werden konnte ich eine Auswertung dieser Zugriffe nicht erreichen. Das Modul/Inserttag im Artikel einzubinden wertet nur den Zugriff auf alle Detailseiten zusammen aus.
    Das Inserttag
    HTML-Code:
    <span style="width:0px;height:0px;">{{cache_visitors::1::count}}</span>
    im Template einzufügen hat leider nicht zu einer Auswertung der einzelnen Datensätze geführt, sondern gar nicht gegriffen.

    Matomo ist mir erstmal zu komplex, auch hätte ich keine Idee wie man von Contao auf die dort ausgewerteten Detailartikel-Zugriffe wieder zugreifen und darstellen könnte.

    Ich versuche das einmal mit der MM-Api mit simpler Logik zu realisieren, außer es gibt noch einen hilfreichen Tipp zu den beiden erstgenannten Ansätzen.

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von stu Beitrag anzeigen
    ..., außer es gibt noch einen hilfreichen Tipp zu den beiden erstgenannten Ansätzen.
    ggf. dann besser in den speziellen Forenbereichen oder auf Slack

  6. #6
    Contao-Nutzer
    Registriert seit
    03.10.2020.
    Beiträge
    41

    Standard

    Habe das erstmal ohne weitere Logik in das Template so eingebaut:
    PHP-Code:
    $detail_id = ($arrItem['raw']['id']);
    $klickcount_new = ($arrItem['raw']['art_klicks'] + 1);
    $modelName 'mm_content';
    $factory $this->getContainer()->get('metamodels.factory');
    $model $factory->getMetaModel($modelName);
    $ObjItem $model->findById($detail_id);
    $ObjItem->set('art_klicks'$klickcount_new); 
    $ObjItem->save(); 
    Das zählt schon mal hoch. Die weitere Logik für Prüfungen folgt gegebenenfalls noch.

  7. #7
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    statt dem "findById" würde man üblicher Weise über den MM-Filter gehen - siehe https://metamodels.readthedocs.io/de...html#beispiele

    ... aber viele Wege führen nach Rom!

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
  •