Dieses Blog ist ein Entwicklerblog der Firma maennchen1.de zum hauseigenen Wordpress-Plugin wpShopGermany. Das Shop-Plugin mit Warenkorb-Funktion erlaubt das einfache installieren und betreiben eines kleinen Shops auf Grundlage von Wordpress.

12.
JAN

wpShopGermany in Blognetzwerken (Multiblog/Multisite/MU)

von Daschmi unter Tutorials

Ab wpShopGermany Enterprise Version 2.4 kann wpShopGermany auch in Blognetzwerken betrieben werden. Das Plugin muss dabei als Netzwerk Admin installiert werden.

Ist das Plugin installiert, so kann der Shop in allen Instanzen genutzt werden. Es gibt dabei zwei Betriebsmöglichkeiten.

Den Modus können sie in den Einstellungen

Einstellungen -> Blognetzwerk

vornehmen:

Diese Einstellung sollte beim einrichten des Shops getroffen werden und später nicht mehr verändert werden!

Mehrere Blogs, ein Shop

In diesem Modus kann der Shop in mehreren Blogs eingesetzt werden, die Produkte und Einstellungen beziehen sich aber auf einen Datenbestand. Wenn sie in einem Blog ein neues Produkt anlegen, ist es auch in den anderen Blogs verfügbar.

Die Bilder werden bei dieser Einstellung in folgendem Verzeichnis abgelegt und gesucht:

wp-content/uploads/produktbilder/

Die Downloads für das Download- und DownloadPlusmodul befinden sich in folgendem Ordner:

wp-content/uploads/produktfiles/
wp-content/uploads/wpsg_dlplus/

Die Rechnungen werden in folgendem Ordner abgelegt:

wp-content/uploads/wpsg_rechnungen/

In diesem Modus verwendet der Shop folgende Tabellen in der Datenbank:

wp_wpshopgermany_attribute

wp ist dabei das eingestellte Kürzel der Datenbanktabellen.

Mehrere Blogs, mehrere Shops

In diesem Modus, wird jeder Shop separat behandelt. Sie können in einem Blog andere Produkte verkaufen als in einem anderen.

Die Bilder werden bei dieser Einstellung in folgenden Verzeichnis abgelegt und gesucht:

wp-content/blogs.dir/{BLOGID}/files/wpsg_produktbilder/

Die Downloads für das Download- und Downloadplusmodul befinden sich in folgendem Ordner:

wp-content/blogs.dir/{BLOGID}/files/wpsg_produktfiles/
wp-content/blogs.dir/{BLOGID}/files/wpsg_dlplus/

Die Rechnungen werden in folgendem Ordner abgelegt:

wp-content/blogs.dir/{BLOGID}/files/wpsg_rechnungen/

In diesem Modus verwendet der Shop folgende Tabellen in der Datenbank:

wp_{BLOGID}_wpshopgermany_zahlvarianten

wp ist dabei das eingestellte Kürzel der Datenbanktabellen.

 

Wir empfehlen bestehende Shops nur mit Fachwissen hinsichtlich WordPress-Blognetzwerken zu installieren. Eine Neuinstallation in ein bestehendes Blognetzwerk ist generell kein Problem.

Sollte ein WordPress mit bestehendem Shop auf Multisite umgestellt werden so werden die bestehenden Produkte nur angezeigt wenn die Option "Shops in jedem Blog getrennt behandeln." nicht aktiviert ist, oder der Shop ist in der Hauptinstanz des Netzwerkes aktiviert. Möchten Sie diese Produkte und Einstellungen auf einen Shop im Blognetzwerk übertragen so müssen sie die Inhalte der Ordner und die Datenbanktabellen entsprechend kopieren.

 

27.
OKT

Hilfe zur Kleinunternehmerregelung

von Daschmi unter Tutorials

Bei aktivierter Kleinunternehmerregelung wird auf das Anzeigen der MwSt. verzichtet. In den Produkttemplates wird der Hinweis:

(*) Alle angegebenen Preise sind Endpreise zzgl. Liefer-/Versandkosten. Aufgrund des Kleinunternehmerstatus gemäß § 19 UStG erhebe ich keine Umsatzsteuer und weise diese daher auch nicht aus.

angezeigt.

Weiterhin wird im Shop und in der Rechnung keine MwSt. angezeigt.

27.

Hilfe zum Modul “Downloadplus”

von Daschmi unter Tutorials

Konfiguration

Das Modul "Downloadplus" ermöglicht es den Kauf von personalisierten PDF-Dokumenten (wie z.B. E-Books, Handbücher, Dokumentationen, Grußkarten, o.ä.) anzubieten. Es können gleichzeitig mehrere Dateien einem Produkt zugeordnet werden. Diese Dateien können separat oder gezippt zum Download angeboten werden.
Das Modul arbeitet mit dem normalen Downloadprodukt-Modul zusammen. Damit das Downloadplus-Modul aktiv wird, muss es als erstes in den Moduleinstellungen aktiviert werden.

Hier kann dann die Individualisierung definiert werden. Es ist möglich 3 Textelemente auf den PDF-Seiten zu platzieren. Dazu muss mindestens ein Haken bei Wasserzeichen, Text1 oder Text2 gesetzt werden. Es ist möglich zu jedem Textelement die Position, den Winkel, die Schriftgröße, den Text und die Farbe anzugeben. Das Eingeben der Farbe erfolgt über den Hexadezimalen Wert der Farbe ohne "#".

Ist der Haken bei Zentriert gesetzt, so wird der angegebene Punkt als Mittelpunkt des Textes verwendet.

In der Spalte Opaque kann die Transparenz definiert werden. Ein Wert von 0.1 ist fast nicht sichtbar, und ein Wert von 1 ist komplett sichtbar.

Über den Haken "Hintergrund" kann definiert werden ob der Text vor, oder hinter dem Text liegen soll.

Über den Dokumentenschutz kann bestimmt werden ob bestimmte Aktionen mit dem erstellten Dokument ermöglicht werden sollen:

  • Speichern: Erlaubt das Kopieren von Text aus dem Dokument
  • Drucken: Erlaubt das Drucken des Dokumentes
  • Modifizieren: Erlaubt das Bearbeiten des Dokumentes
  • Bemerkungen: Erlaubt das anbringen von Bemerkungen in dem Dokument

Unter Anpassung kann bestimmt werden ob die Anpassung für alle Seiten oder nur für einen bestimmten Bereich durchgeführt werden sollen.

Es können zwei Passwörter definiert werden. Das eine kann genutzt werden um den Zugriff nur über dieses Passwort zu erlauben, mit dem anderen kann der Dokumentenschutz nachträglich entfernt werden.

Über die Optionen kann das Verhalten des Moduls noch gesteuert werden.

Sollte die Individualisierung über einen Cron Job erfolgen, so kann hier der Pfad zu dem Script heraus gelesen werden. Ein Cron Job macht Sinn, wenn das auzuliefernde PDF relativ groß ist und eine Generierung übermäßig viel Zeit in Anspruch nehmen könnte. Generierungsabrüche wären die Folge und der personalisierte Download könnte nicht fertig gestellt werden.

Der Eintrag in der crontab könnte dann z.B. so aussehen:

[code]*/30 * * * * apache /usr/bin/php  /var/www/wp-content/plugins/wpshopgermany/mods/mod_downloadplus/cron.php[/code]

Dieses Beispiel würde den Cron alle 30 Minuten ausführen. Sofern ein Produkt gekauft wurde, welches mit dem Downloadplus Modul heruntergeladen werden kann, wird es in diesem Intervall automatisch erzeugt. Anschließend kann der Downloadlink per Klick dem Kunden zugesendet werden.

Unter Platzhalter sind die Platzhalter, welche in den Texten und in dem Dateinamen möglich sind aufgelistet.

Einstellungen beim Produkt

Soll das Produkt das Downloadplus Modul verwenden, so muss der Haken bei "PDF Dokumente als Master verwenden (DownloadPlus)" gesetzt sein. Weiterhin muss mindestens ein gültiges Dokument als Master hinterlegt werden. Dieses Dokument muss ein PDF Dokument ohne Komprimierung, Verschlüsselung und Inhaltsverzeichnis sein. Dieses Dokument wird dann im Bestellablauf an die Bestellung individualisiert.

Erstellen der Individualisierung über die Bestellverwaltung

Oben stehen die "Ausstehenden Dokumente", das sind die Originaldokumente der Produkte dieser Bestellung. Dies sind die Dokumente die in der Produktverwaltung hinterlegt wurden. Diese Dokumente können nun über den Button "Individualisierung planen" für die nächste Ausführung des CronJobs hinterlegt werden. Es ist aber auch möglich die Dokumente über den Link zu individualisieren (oder Re-individualisieren da dies schon geschehen ist) manuell zu individualisieren.

Individualisierte Dokumente erscheinen dann im unteren Bereich und können gelöscht oder betrachtet werden. Über den Button "Link an Kunden senden" ist es möglich die Links zu den Dokumenten an den Kunden zu senden.

ACHTUNG:

  • Unter "Personalisierter Dateiname" muss eine Eingabe gemacht werden und diese Eingabe sollte mit ".pdf" enden.
  • Es können nur PDF Dokumente inhaltlich individualisiert werden.
  • Die Master Dokumente sollten kein Inhaltsverzeichnis und keine Verschlüsselung und Komprimierung verwenden.
  • Sollten mehrere Dateien zu einem Produkt existieren so sollte unter "personalisierter Dateiname" das Kürzel %rand% oder %filename% verwendet werden. Damit der Dateiname pro Datei unterschiedlich ist.
  • Der Cron arbeitet derzeit nicht im WordPress MultiSite Modus.
  • Für die Bearbeitung der PDF-Dokumente muss entsprechend Serverkapazität (Arbeitsspeicher, Festplattenspeicher, Scriptausführungszeit) frei gehalten werden.

10.
OKT

Bestellnummer formatieren

von Daschmi unter Tutorials

Die Bestellnummer kann unter Konfiguration -> Bestellung definiert werden. Hier kann die Startnummer und das Format für die Rechnungsnummer definiert werden.

Im Format für die Bestellnummer sind folgende Platzhalter möglich:

  • %nr% - Fortlaufende Bestellnummer
  • %Jahr% - Das aktuelle Jahr (4stellig)
  • %Monat% - Der aktuelle Monat (01 - 12)
  • %Tag% - Der Tag des Monats (01 - 31)

Ist der Platzhalter %nr% nicht enthalten wird die Nummer einfach hinten angehängt. Sollte es in der Datenbank eine höhere Nummer als die Startnummer geben so wird diese verwendet.

Diese Funktion ist seit wpShopGermany 2.2.0 integriert. Sollten Sie von einer früheren Version updaten, berücksichtigen sie bitte die Änderung im Rechnungsmodul. Im Template für das Rechnungsmodul views/mods/mod_rechnungen/rechnungsmail.phtml sollte für die Bestellnummer (Zeile 3) folgender Code:


<?php $this->data['o_id']; ?>

durch folgenden:

<?php echo ((trim($this->data["onr"]) != "")?$this->data["onr"]:$this->data["o_id"]); ?>

ersetzt werden, sofern die Datei angepasst wurde.

19.
SEP

Automatische Rechnungserstellung

von David unter Tutorials

Das Rechnungsmodul bietet die Möglichkeit bei Bestelleingang automatisch eine Rechnung zu generieren. Um diese Funktion zu aktivieren muss im Backend beim Rechnungsmodul unter Sonstiges der Parameter "Automatische Rechnungserstellung nach Bestellung und Versand" ein Haken gesetzt werden.

Ist diese Option aktiviert wird bei Eingang einer neuen Bestellung automatisch vom System eine Rechnung erstellt und diese als Mail an den Kunden versand.
Eine Bestellbestätigung wird ebenfalls vom System an den Kunden geschickt.
Der Status der Bestellung ändert sich dabei in "Rechnung geschrieben"

Hier noch ein kleines Video-Tutorial zur Verdeutlichung der Funktion:

15.
SEP

Rabatte mit dem Modul “Rabatt”

von Daschmi unter Tutorials

Das Modul Rabatt ermöglicht es prozentuale Rabatte auf den Kaufpreis, einzelne Produkte (zeitlich) und ganze Produktgruppen (zeitlich) zu gewähren.

Es funktioniert in folgender Reihenfolge:

1. erst der generelle Rabatt
2. dann der Rabatt aus der Produktgruppe
3. dann der Rabatt direkt aus dem Produkt

Der Rabatt aus dem Produkt überschreibt den Rabatt aus der Produktgruppe usw.

Die Rabattmöglichkeiten müssen zu erst im Modul "Rabatt" aktiviert werden. Wird der generelle Rabatt aktiviert, so werden Felder für die Dauer und den Prozentwert sichtbar.

Die Rabattstaffelung kann unten für den Gesamtpreis angegeben werden. Mehr Informationen finden Sie hier.

Der Rabattpreis überschreibt den tatsächlichen Preis des Produktes. Für den Benutzer ist dann in dem angegebenen Zeitraum der reduzierte Preis sichtbar.

Generell gilt für Rabatte: Gesamtwarenpreis - Gutscheinbetrag - Rabatte

13.
SEP

Kleinunternehmerregelung

von Daschmi unter Tutorials

Ab Version #2.1.5 ist es möglich den Shop im Rahmen der deutschen Kleinunternehmerregelung nach §19 UStG zu betreiben. Es werden dabei (bei Verwendung der Standardtemplates) die nötigen Texte innerhalb des Bestellablaufs angezeigt. Die Kleinunternehmerregelung aktivieren sie unter Einstellungen -> Allgemein

Im Template der Produkte und im Warenkorb/Zusammenfassung erscheint dann folgender Hinweis:

7.
SEP

Rechnungsmodul Benachrichtigungs URL

von David unter Tutorials

Die Benachrichtungs URL kann genutzt werden, um nach der Rechnungsschreibung einem Script Variablen (per GET-Befehl) zu übergeben. Folgende Variablen werden übergeben:

[k_id] = ID des Kunden
[o_id] = ID der Bestellung
[r_nr] = Nr der generierten Rechnung
[name] = Name des Kunden
[vname] = Vorname des Kunden
[email] = E-Mail des Kunden
[firma] = Firma
[tel] = Telefon
[fax] = Fax
[strasse] = Straße
[plz] = 99625
[ort] = Ort
[land] = Kürzel des Landes
[betrag] = Betrag der Rechnung
[mail_to] = E-Mail, die als Empfänger während des Rechnungsschreibens angegeben wurde

Soll das Script standardmäßig genutzt werden kann man einen Haken bei "Aktiv" setzen. Das Script muss als komplette URL, also mit http:// angegeben werden. Wird dieses Script aufgerufen erfolgt kein Versand per Mail an den Kunden, dies muss das Script dann übernehmen!

7.

Rechnungsmodul Einstellungen

von David unter Tutorials

In den Moduleinstellungen können folgende Einstellungen vorgenommen werden:

  • hochladen des Briefpapierhintergrundes für die Kundenmail
  • hochladen eines Logos für die Kundenmail
  • vordefinierte Textfelder für das Mailtemplate festlegen
  • fünf frei verwendbare Textfelder für die Kundenmail

Im unteren Bereich des Formulars finden Sie den Button "Beispiel laden", hier können sie eine Beispielkonfiguration der Felder laden und sich ein Überblick über die möglichen Angaben zu verschaffen.

Im Menüpunkt Fußzeilen können sie verschiedene Kurze Texte definieren, die unter der Rechnung erscheinen. Dies bietet sich für Texte abhängig der Zahlungsart an. Zum Beispiel "Betrag danken erhalten" oder "Überweisen sie innerhalb von 14 Tagen". Bei Rechnungslegung in der Bestellverwaltung können sie diese Texte dann einfach per Drop-Down Menü auswählen.

Der Menüpunkt Sonstiges bietet neben einigen speziellen Formatierungen zur Rechnungsmail auch die Möglichkeit festzulegen, dass die Rechnungsdaten an eine definierte URL übergeben werden um diese dort verarbeiten zu können. Ebenfalls ist es möglich, über den Haken "Automatische Rechnungserstellung nach Bestellung und Versand" das System zu veranlassen nach Bestelleingang eine automatisch generierte Rechnung zu erstellen. Soll die Rechnung an den Kunden gesendet werden, so kann der Haken bei "E-Mail an Kunden senden" aktiviert bleiben. Der Haken ist standardmäßig aktiviert, und die Zieladresse ist die E-Mail Adresse der Bestellung.

Soll eine Fälligkeit auf der Rechnung erscheinen, so kann man den Haken bei "Fälligkeit anzeigen" aktiviert lassen. Das vorgeschlagene Datum ergibt sich aus dem aktuellen Datum addiert zu den Tagen die in den Einstellungen des Rechnungsmoduls definiert wurden.

Soll sich der Status der Rechnung nach Rechnungserstellung ändern, so kann man dies unter "Neuer Status" einstellen.

 

7.

Rechnungsmodul Mailtemplates

von David unter Tutorials

PDF-Template

Ab Version 2.0.0 liegt das Mail-Template im Dateisystem unter:
\wp-content\plugins\wpshopgermany\views\mods\mod_rechnungen\rechnungsmail.phtml

Die Generierung des PDF Dokumentes kann in der unten angegebenen Datei angepasst werden:

wp-content/plugins/wpshopgermany/views/mods/mod_rechnungen/rechnung_pdf.phtml

Um das System auch weiterhin updaten zu können sollte die Datei nach

wp-content/plugins/wpshopgermany/user_views/mods/mod_rechnungen/rechnung_pdf.phtml

verschoben werden (Ordner müssen ggf. angelegt werden). Diese wird dann bei einem Update nicht überschrieben und Ihre persönlichen Änderungen bleiben erhalten.
Bei dem Dateityp *.phtml handelt es sich um eine HTML Datei mir eingebetten PHP Code und diese kann mit einem Editor Ihrer Wahl beliebig verändert werden.
Das Briefpapier welches hochgeladen werden kann, dient als Hintergrund für das PDF. Das Briefpapier wird dabei auf eine DIN A4 Seite gestreckt, es sollte also im Seitenverhältnis von 210/297mm vorliegen.
Das Logo wird an der rechten oberen Ecke des PDF Dokumentes platziert und mit einer Auflösung von 96dpi unter Beachtung des Seitenverhältnisses angezeigt.

Achtung! Versionen kleiner 2.0.0 nutzen ein anderes Verfahren zur Generierung der Mailtemplates.

Das Template heißt "Mailtemplate (Rechnung)" und kann unter Konfiguration -> Templates bearbeitet werden. Das Template sieht standardmäßig wie folgt aus:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Hallo ###vname### ###name###,

Sie erhalten hiermit die Rechnung in Höhe von ###betrag### € für Ihre Bestellung mit der Bestellnummer ###o_id###.

Mit freundlichen Grüßen

Ihr wpShopGermany Team

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Die Bezeichnungen ###vname###, ###name###, ###betrag### und ###o_id### dienen hierbei als Platzhalter und werden bei der Generierung mit den entsprechenden Werten gefüllt.