Hallo miteinander,
wieder einmal eine Frage zur Statistik. Wahrscheinlich bin ich bloß zu blöd zum Suchen. Habe schon viel probiert, aber leider keine Threads dazu gefunden. Also bitte nicht steinigen, wenn es dazu schon zigtausende Antworten gibt.
Wie kann man die Auswertung der Statistik, die man ja manuell starten muss, bevor man was sehen kann, automatisieren, sodass beispielsweise bei jedem Aufruf der Statistik eine automatische Auswertung erfolgt?
Gibts da schon Lösungsansätze?
Viele Grüße und danke schon jetzt,
Tobi
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Hi,
es gibt auch anbieter, die Kostenlos Cronjobs anbieten und somit dann auch für dich ein PHP Skript anstoßen.
Dein Script müsste zuerst ein Login eines Users simulieren und danch den entsprechenden Link (siehe Backend) aufrufen. Eine extra Datei gibt es dafür nicht, die Funktionalität ist eben im stats Addon drinne..
Gruß,
Markus
es gibt auch anbieter, die Kostenlos Cronjobs anbieten und somit dann auch für dich ein PHP Skript anstoßen.
Dein Script müsste zuerst ein Login eines Users simulieren und danch den entsprechenden Link (siehe Backend) aufrufen. Eine extra Datei gibt es dafür nicht, die Funktionalität ist eben im stats Addon drinne..
Gruß,
Markus
Ihr braucht dass nicht so umständlich machen, sofern Ihr nur den aktuellen Monat aktualisieren wollt.
Ich habe dazu mal schnell eine kleine Erweiterung des Statistikmoduls erstellt, welche bei mir einwandfrei läuft.
Ersetzt in der Datei "index.inc.php" im Pfad /redaxo/include/addons/stats/pages/ folgenden Bereich ab Zeile 105 (ca.):
Original ab Zeile 105 (ca.):
Ersetzen durch:
* Achtet auf die Schreibweise Eures Codes
Damit wird bei jedem Aufruf des Statistikbereiches zuerst einmal ein Update durchgeführt und dabei eine kleine Info angezeigt werden.
Hinweis: Falls Eurer Datenvolumen allerdings zu enorm ist, sollte man dies nicht einsetzen, da man sonst zu lange auf die Anzeige warten muss.
Tipp: Für alle Monate müsste man nur noch eine Schleife um das ganze setzen, und entsprechend den Startmonat/Jahr bis zum aktuellen durchlaufen.
Und noch etwas: einen kleinen Fehler habe ich auch gleich noch entfernt/gefunden.
In Zeile 100 und 101 (ca.) fehlt innerhalb des <option>-Tags die Angabe des Wertes "value".
Diesen sollte man mit hinzufügen -> " value=$v", um einwandfrei das Jahr mit zu übergeben.
Es müsste dort also stehen:
Viele Grüße
iceman
Ich habe dazu mal schnell eine kleine Erweiterung des Statistikmoduls erstellt, welche bei mir einwandfrei läuft.
Ersetzt in der Datei "index.inc.php" im Pfad /redaxo/include/addons/stats/pages/ folgenden Bereich ab Zeile 105 (ca.):
Original ab Zeile 105 (ca.):
Code: Alles auswählen
//
// ACTING
//
if ( $sub == 'stats' OR !isset($sub) )
{
Code: Alles auswählen
//
// ACTING
//
if ( $sub == 'stats' OR !isset($sub) )
{
if (!isset($sub)):
/* BEGIN: aktuelle Monatsstatistik automatisch bei Statistikaufruf starten - by mueller4media */
echo '<script language="javascript1.1">
loadLeftPosition=(self.document.body.offsetWidth-220)/2;
loadTopPosition=(self.document.body.offsetHeight-50)/2;
document.write("<!-- Zeige Ladestatus -->"
+"<div UNSELECTABLE=\"on\" id=\"myStatLoadInfo\" style=\"position:absolute; left:"+loadLeftPosition+"; top:"+loadTopPosition+"; width:220px; height:50px; z-index:10000; border: 1px solid #999999; overflow: hidden; visibility: visible;\">"
+"<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\">"
+"<tr>"
+"<td class=\"greenblack\"><strong>Monatsstatistik wird aktualisiert.<br>Bitte warten...</strong></td>"
+"</tr>"
+"</table>"
+"</div>"
+"<!-- Ladestatus Ende -->\n");
</script>';
flush();
$myMonth = date("m");
$myYear = date("Y");
$myStats = new stats;
if ($myStats->evaluate($myYear,$myMonth)):
echo '<script language="javascript1.1">
self.document.getElementById("myStatLoadInfo").style.display = "none";
</script>';
flush();
endif;
/* END: mueller4media */
endif;
Damit wird bei jedem Aufruf des Statistikbereiches zuerst einmal ein Update durchgeführt und dabei eine kleine Info angezeigt werden.
Hinweis: Falls Eurer Datenvolumen allerdings zu enorm ist, sollte man dies nicht einsetzen, da man sonst zu lange auf die Anzeige warten muss.
Tipp: Für alle Monate müsste man nur noch eine Schleife um das ganze setzen, und entsprechend den Startmonat/Jahr bis zum aktuellen durchlaufen.
Und noch etwas: einen kleinen Fehler habe ich auch gleich noch entfernt/gefunden.
In Zeile 100 und 101 (ca.) fehlt innerhalb des <option>-Tags die Angabe des Wertes "value".
Diesen sollte man mit hinzufügen -> " value=$v", um einwandfrei das Jahr mit zu übergeben.
Es müsste dort also stehen:
Code: Alles auswählen
if ( $v == $year ) $jsel .= "<option value=$v selected>$v</option>";
else $jsel .= "<option value=$v>$v</option>";
iceman