Nach der Erstellung meines ersten Moduls (Besucherzähler) für Joomla 6, bedingt durch die Überladung vieler im Internet verfügbarer Alternativen, steht dieses nun zur kostenlosen Herunterladung bereit. Alternativ können Anwender das Modul anhand der bereitgestellten Beschreibung selbst erstellen.
Mit diesem einfachen Joomla-Modul kannst du Besucher zählen ganz ohne Datenbank. Alle Daten werden in einer Datei gespeichert.
Funktionen
- Besucher insgesamt zählen
- Besucher pro Tag zählen
- IP + Land erkennen
- 12 Tage Schutz gegen Spam
- Keine Datenbank notwendig
1. Modulstruktur erstellen
mod_simplevisitor/ │── mod_simplevisitor.php │── helper.php │── mod_simplevisitor.xml │── tmpl/ │ └── default.php │── data/ │ └── visitors.json
2. Dateien erstellen
mod_simplevisitor.php
<?php
defined('_JEXEC') or die;
require_once __DIR__ . '/helper.php';
$data = ModSimpleVisitorHelper::processVisit();
require JModuleHelper::getLayoutPath('mod_simplevisitor');
helper.php
<?php
defined('_JEXEC') or die;
class ModSimpleVisitorHelper
{
public static function processVisit()
{
$file = __DIR__ . '/data/visitors.json';
if (!file_exists($file)) {
file_put_contents($file, json_encode([
"total" => 0,
"today" => [],
"ips" => []
], JSON_PRETTY_PRINT));
}
$data = json_decode(file_get_contents($file), true);
$ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
$today = date('Y-m-d');
$now = time();
if (!isset($data['today'][$today])) {
$data['today'] = [$today => 0];
}
if (!isset($data['ips'][$ip]) || ($now - $data['ips'][$ip]) >= 10) {
$data['total']++;
$data['today'][$today]++;
$data['ips'][$ip] = $now;
file_put_contents($file, json_encode($data, JSON_PRETTY_PRINT));
}
return [
'total' => $data['total'],
'today' => $data['today'][$today]
];
}
}
tmpl/default.php
<?php defined('_JEXEC') or die; ?>
<div class="visitor-counter">
<p><strong>Besucher heute:</strong> <?php echo $data['today']; ?></p>
<p><strong>Besucher insgesamt:</strong> <?php echo $data['total']; ?></p>
</div>
mod_simplevisitor.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="6.0" client="site" method="upgrade">
<name>Simple Visitor Counter</name>
<author>Website</author>
<version>1.0.0</version>
<description>Einfacher Besucherzähler ohne Datenbank</description>
<files>
<filename module="mod_simplevisitor">mod_simplevisitor.php</filename>
<filename>helper.php</filename>
<folder>tmpl</folder>
<folder>data</folder>
</files>
</extension>
3. Rechte setzen
chmod 755 data chmod 666 visitors.json
4. Modul installieren
- Ordner als ZIP packen
- In Joomla hochladen
- Modul aktivieren und Position wählen
Optional: Design
.visitor-counter {
color: #B1976B;
}
Hinweis
Der Zähler zählt jeden Besucher, jedoch maximal alle 12 Tage pro IP-Adresse.