Node Tabelle verändern (durch Modul) oder alternativer Weg!?
am 06.12.2009 - 22:44 Uhr in
Hallo,
ich programmiere gerade ein Modul, das die Aufrufe bestimmter Nodetypes zählt.
Dabei soll der Zähler aber in bestimmten Abständen zurück gesetzt werden (können).
Aus eben diesem Grund kommt das Statistik-Modul aus dem Core nicht in Betracht, das es ja nur alle bisherigen Aufrufe zählt.
Nun ist meine Frage ob ich mit dem Modul die Node-Tabelle verändern sollte/darf, oder ob es eine bessere Möglichkeit gibt. Dabei sollte berücksichtigt werden, dass es möglich sein soll Views anzulegen, die diesen neuen Zähler als Sortierkriterium nutzen können, damit 'Ranglisten' ertsellt werden können.
Des weiteren soll vor Doppelaufrufen geschützt werden, so dass das mehrfache Aufrufen eines Nodes durch ein und den selben User innerhalb eines bestimmten Zeitraum nicht zu einer Erhöhung des Zählers führt.
Nach der Diskussion hier kann man ja zu dem Schluss kommen das ich dafür die IP Adresse des Users nicht speichern darf, einen Cookie zu setzen erachte ich als ebenso problematisch (zumal das Löschen des Cookies einer erneute Zählung ermöglicht). Das speichern der Drupal-internen User-ID kommt auch nicht in Betracht, da der überwiegende Teil der Nutzer der Seite nciht eingeloggt sein werden. Habe ich noch eine vernünftige Möglichkeit für eine solche Sperre übersehen?
Für Denkanstöße bin ich wie immer dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
Schau mal ob das was für
am 07.12.2009 - 10:50 Uhr
Schau mal ob das was für dich ist:
http://drupal.org/project/statistics_advanced
Es lohnt sich meist, zuerst mal nach bereits vorhandenen Modulen zu suchen. Auch wenn es dann vielleicht nicht 100%ig passt kann man sich prima Denkanstöße im Quellcode holen :-)
Das Modul hatte ich gesehen,
am 07.12.2009 - 12:45 Uhr
Das Modul hatte ich gesehen, aber schon die Beschreibung war nicht das wonach ich gesucht hatte (eben unabhängiges zeitlich begrenztes Zählen von Aufrufen + zurücksetzen nach bestimmter Zeit).
Zumal der schon vorhanden Counter dabei nicht zurück gesetzt werden soll, da die Info über 'alle Aufrufe' erhalten bleiben soll.
Deswegen bleibt nach wie vor die Frage, wie ich einen zusätzlichen Zähler einhänge, wobei mich vor allem interessiert ob ich dazu die Node Tabelle in der Datenbank erweitern soll oder welche Möglichkeit ich alternativ habe, eben unter der Voraussetzung das das Feld später als Sortierkriterium in Views genutzt werden soll.
Hier wäre ein Denkanstoß hilfreich.
Modul
am 07.12.2009 - 12:52 Uhr
... ob ich dazu die Node Tabelle in der Datenbank erweitern soll ...
Warum lässt Du Dein Modul nicht einfach eine eigene Tabelle verwenden?
nid, uid, count
Und die Sortierung in Views kannst Du dann ebenfalls über das Modul mittels eigenem views_sort_handler erledigen.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Deswegen ja die Frage nach
am 07.12.2009 - 14:38 Uhr
Deswegen ja die Frage nach alternativen Lösungsmöglichkeiten..
Gibt es irgendwo ein aussagekräftiges Beispiel wie man so einen views_sort_handler implementiert?
Ich denke dann werde ich es auf dem Weg machen, ich denke das das ne gute Lösung wäre.