- PHP 93.4%
- CSS 6.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- Neue Methoden loadAdminLanguage() und adminText() - Behebt Fatal error 'getLanguageValue() on null' im Adminbereich - SPDX-Identifier EUPL-1.2 in allen Dateien |
||
| bestellungen | ||
| sprachen | ||
| .editorconfig | ||
| .gitignore | ||
| CHANGELOG.md | ||
| func_shop.php | ||
| index.php | ||
| LICENSE.txt | ||
| liesmich.txt | ||
| plugin.css | ||
| README.md | ||
moziloShop – Shop-Plugin für moziloCMS 3.0
Einfacher Onlineshop als Plugin für moziloCMS 3.0: Produkte aus Plugin-Einstellungen und/oder aus mozilo-Inhaltsseiten, Warenkorb per Session, Kasse mit Adressformular, Bestellung per E-Mail und als Datei, USt-Anzeige, Zahlung über Mollie (inkl. Webhook und Status-Check) sowie eine schlüsselgeschützte Bestellübersicht.
Features
- 🛍️ Produkte – zentral in den Plugin-Einstellungen oder automatisch
aus mozilo-Inhaltsseiten (Zeile
shop: Name|Preis|...im Seiteninhalt) - 🛒 Warenkorb – session-basiert, mit Mengenänderung und Mini-Warenkorb
- 🧾 Checkout – Adressformular mit Pflichtfeld-Prüfung, optionale Datenschutz-Checkbox mit Link auf die Datenschutzerklärung
- 📧 Bestellungen – E-Mail an den Betreiber und Textdatei unter
plugins/Shop/bestellungen/(inkl..htaccess-Schutz) - 💳 Mollie-Zahlung – optional per API-Key (
test_.../live_...), inkl. Webhook (shop_notify) und Live-Status-Check auf der Erfolgsseite; ohne Key: Rechnung/Vorkasse - 📊 USt-Anzeige – „inkl. X % MwSt.“ bei Preisen, enthaltene MwSt. im Warenkorb und in der Bestellung (Standard: 20 % / Österreich)
- 📋 Bestellübersicht – Tag
{Shop|bestellungen}, geschützt per Zugriffsschlüssel, mit Statusanzeige (OFFEN/BEZAHLT/…)
Installation
- Dieses Repository klonen oder als ZIP herunterladen:
git clone https://github.com/EXAMPLE/moziloShop.git - Den Plugin-Ordner unter dem Namen
Shopin das Verzeichnisplugins/der moziloCMS-Installation kopieren:
Das Repository direkt alsplugins/Shop/index.php plugins/Shop/func_shop.php plugins/Shop/plugin.css ...plugins/Shopklonen geht auch:git clone https://github.com/EXAMPLE/moziloShop.git Shop - Im moziloCMS-Adminbereich unter Plugins → Shop die Einstellungen vornehmen (mindestens E-Mail-Adresse; empfohlen: USt-Satz, Bestellungen-Schlüssel, ggf. Mollie-API-Key).
- Auf einer Inhaltsseite einen der Plugin-Tags einfügen (siehe unten).
Verwendung (Plugin-Tags)
| Tag | Funktion |
|---|---|
{Shop|} |
Produktliste (Einstellungen + konfigurierte Kategorie) |
{Shop|kategorie:MeineKat} |
Produktliste aus der mozilo-Kategorie MeineKat |
{Shop|cart} |
Warenkorb anzeigen |
{Shop|checkout} |
Kasse/Adressformular anzeigen |
{Shop|bestellungen} |
Bestellübersicht (erfordert ?shop_key=SCHLUESSEL) |
Produkte pflegen
Variante 1 – Plugin-Einstellungen, eine Zeile pro Produkt:
Name|Preis|Beschreibung|Bild|Detailseite|Lager
Kaffeebecher|12.90|Keramik, spülmaschinenfest|becher.jpg|Produkte:Becher|25
Detailseite (Format Kategorie:Seite) und Lager sind optional.
Variante 2 – Inhaltsseiten: In den Einstellungen eine Kategorie
eintragen (oder {Shop|kategorie:...} verwenden). Jede Inhaltsseite
dieser Kategorie wird zum Produkt, wenn sie im Inhalt diese Zeile
enthält:
shop: Kaffeebecher|12.90|Keramik, spülmaschinenfest|becher.jpg|25
Bestellübersicht
- In den Plugin-Einstellungen einen Bestellungen-Schlüssel setzen.
- Eine (ungelistete) Inhaltsseite mit
{Shop|bestellungen}anlegen. - Aufruf:
index.php?cat=...&page=...&shop_key=SCHLUESSEL
Mollie-Zahlung einrichten
- Konto bei mollie.com anlegen.
- API-Key (zuerst
test_..., für Produktionlive_...) in den Plugin-Einstellungen eintragen. - Bei Zahlung wird automatisch eine Payment über die
Mollie Payments API
erzeugt;
webhookUrlundredirectUrlzeigen auf die CMS-Seite mit dem Plugin-Tag. - Der Webhook (
&shop_notify=1) schreibt Statusänderungen (BEZAHLT, STORNIERT, …) in die Bestelldatei; die Erfolgsseite prüft den Status zusätzlich live.
Voraussetzung: öffentlich erreichbare HTTPS-URLs für redirect und Webhook (z. B. über Let's Encrypt).
Sicherheitshinweise
plugins/Shop/bestellungen/wird durch die mitgelieferte.htaccess(Require all denied) vor direktem Zugriff geschützt.- Bestellungen-Schlüssel lang und zufällig wählen; Übersichtsseite per robots/noindex vom Suchindex ausschließen.
- Im Produktivbetrieb HTTPS erzwingen.
Anforderungen
- moziloCMS 3.0
- PHP 7.0+ (empfohlen 8.x),
curl-Extension für Mollie-Zahlungen
Lizenz
EUPL-1.2 – European Union Public Licence v. 1.2.
Der vollständige Text liegt als LICENSE.txt bei:
https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
Die EUPL-1.2 ist einseitig mit der GPLv3 kompatibel; moziloCMS selbst steht unter GPL, die Nutzung des Plugins ist dadurch nicht eingeschränkt.
Autor
Juergen Bruckner