Da wpShopGermany als Plugin und nicht als Shoptheme eingesetzt wird, werden entsprechende Hürden automatisch gesetzt. Denn wpShopGermany generiert Ausgaben (Produktansichten, Warenkorb, Widgets, etc), welche formatiert werden müssen. Diese Ausgaben sind vollständig anpassbar.
Im Grunde muss man unterscheiden, was man konkret anpassen möchte: Texte und Wörter oder komplette HTML-Darstellungen. Beides wird entsprechend kompatibel von wpShopGermany getrennt voneinander verarbeitet. Mit Hilfe des WordPress Plugins Loco Translate können sämtliche wpShopGermany-Texte oder nur einzelne Wörter angepasst werden. Somit lässt sich nicht nur eine komplett andere Sprache anlegen und nutzen, sondern man kann auch nur einzelne Wörter anpassen, ohne direkt den Code editieren zu müssen. Spätestens beim nächsten Update wissen Sie das Feature zu schätzen, wenn Sie keine der PHTML-Dateien auf Änderungen überprüfen müssen, da alles in einer Sprachdatei steht, die bei einem Update nicht überschrieben wird.
Die HTML-Ausgabe Templates liegen alle im wpShopgermany Ordner „views/“. In nahezu jedem Template steht in den oberen Zeilen ein Kommentar, welcher beschreibt was das Template konkret macht, sofern es nicht schon anhand des Namens erkenntlich ist. Die Template Dateien haben alle als Dateiendung „phtml“. Denn sie sind nicht nur reine HTML-Dateien, sondern können auch (für den Fortgeschrittenen Anwender) PHP-Code ausführen, sofern dies erforderlich ist. Damit wird eine extreme Flexibilität geschaffen, um Ansichten nach jedem Geschmack anzupassen.
Mit der Verwendung des Ordners “user-views” können angepasste PHTML-Dateien updatesicher genutzt werden.
Jeder der in der Vergangenheit sein Template an die persönlichen Bedürfnisse angepasst hat, wird vor jedem wpShopGermany-Update gezittert haben. Durch Updates kommen stets Neuerungen, Verbesserungen oder Bugfixes in das System, welche wiederum teilweise durch die Templates ausgegeben werden können. Je größer eine Anpassung war, umso größer war der Aufwand bei einem Update. Zwar haben wir im Changelog stets die Dateien aufgelistet, die geändert wurden, aber das ist für einen Entwickler nur die halbe Miete. Für wpShopGermany 3 gibt es jetzt eine Verbesserung.
Jede Darstellung der Produkte in wpShopGermany wird durch PHTML-Templates gesteuert. Diese Dateien sind im Grunde HTML-Dateien, welche auch PHP-Code enthalten und ausführen dürfen (nicht: müssen!). Der enthaltene HTML-Code kann mit Hilfe von CSS an die eigenen Bedürfnisse angepasst werden. Alle PHTML-Dateien liegen im Plugin-Ordner /wp-content/plugins/wpshopgermany/views/. In der wpShopGermany-Templateübersicht werden alle verwendeten Templates aufgelistet.
Möchte man ein Template individuell anpassen, so kann man es direkt editieren.
Besser und Update-resistent ist folgende Methode:
Legen Sie einen neuen Ordner /wp-content/uploads/wpsg/user_views/ an, und kopieren sie die zu editierende Datei samt Pfad in diesen Ordner. Bei Updates werden alle Dateien im Ordner views/ überschrieben. Der Ordner user_views/ bleibt unverändert.
Soll z.B. das wpShopGermany-Widget verändert werden, kopieren Sie es von views/Warenkorb/index.phtml nach /wp-content/uploads/wpsg/user_views/Warenkorb/index.phtml und editieren es dort erst.
Kopieren Sie niemals den kompletten Ordner views/ nur um einige Änderungen vorzunehmen, kopieren Sie immer nur die Datei, die Sie bearbeiten wollen!
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/uploads/wpsg/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.
Um den Mailversand vom WordPress-eigenen php-Mailer auf SMTP umzustellen, wird empfohlen, ein WordPress-PlugIn dafür zu nutzen (z.B.: WP Mail SMTP).
Mit wpShopGermany ist es möglich seine Produkte out-of-the-box anzubieten. Wer mehr möchte benötigt HTML-Kenntnisse, denn mit wpShopGermany ist es möglich jede Ansicht akribisch genau selbst zu definieren (ganz nach Kenntnisstand). Die Dateien liegen im Ordner /wp-content/plugins/wpShopGermany/views/. Möchte man eine Datei abändern, so kopiert man sie inklusive Pfad in den Ordner /wp-content/uploads/wpsg/user_views/. Dieser Ordner wird bei einem Update nicht überschrieben und alle Änderungen bleiben erhalten. Dennoch sollte man bei einem Update überprüfen, welche Dateien sich geändert haben und die Änderungen in seinem user_views-Ordner übernehmen. Falsche Anzeigen und fehlerhafte Bestellungen wären sonst die Folge!
Es geht sogar noch mehr! Die PHTML-Dateien lassen den Einsatz von PHP zu. Somit können im Shop dynamische Anfragen erstellt oder generiert werden. Probieren Sie es aus!
Eine Übersicht aller Dateien aus dem views/-Ordner geben wir in unserem WebSVN. Dort haben Sie nicht nur die Möglichkeit alle Dateien einzusehen, sondern auch alle gemachten Änderungen (Revisionen vergleichen).
Nachfolgend die Liste der Dateien und Ordner aus /wp-content/plugins/wpShopGermany/views/ für wpShopGermany2:
Ab Version 2.0.0 wurde das Templatesystem neu implementiert, die Templates sind jetzt unter:
wp-content/plugins/wpshopgermany/views/templates/produkt/*.phtml
zu finden. Es handelt sich bei diesen Dateien um HTML Dateien mit eingebettetn PHP- Code. Wenn sie hier ihre eigenen Ideen zur Produktdarstellung einbringen möchten, empfiehlt es sich diese Dateien nach
wp-content/uploads/wpsg/user_views/templates/produkt/*.phtml zu kopieren und die Änderungen dort vorzunehmen. Diese Vorgehensweise erlaubt auch weiterhin das Plugin zu updaten ohne das ihre persönlichen Einstellungen dabei überschrieben werden.
Als Standard wird ein Produktbild angezeigt, welches per Thickbox sich vergrößern lässt. Sind mehrere Produktbilder angegeben worden, werden diese ebenfalls in der Thickbox hintereinander angezeigt. Dabei wird zur Sortierung der Originalbildname herangezogen. Anton.jpg wird also vor Bertie.jpg angezeigt.
Wichtig: Es werden nur Bilder vom Format .jpg in vollem Umfang unterstützt!
Ein Aufruf zur Anzeige zweier Produktbilder in einem Produtkttemplate sieht jetzt wie folgt aus:
<?php echo $this->mods['mod_produktbilder']->genBild($this->data["p_id"], 1, 100, 100, 'c'); ?> <?php echo $this->mods['mod_produktbilder']->genBild($this->data["p_id"], 2, 100, 100, 'c'); ?>
Ab Version 3.0 müssen die Funktionen wie folgt aufgerufen werden:
<?php echo $this->callMod('wpsg_mod_produktbilder', 'genBild', array($this->view['data']['id'], 1, 100, 100, 'c')); ?> <?php echo $this->callMod('wpsg_mod_produktbilder', 'genBild', array($this->view['data']['id'], 1, 100, 100, 'c')); ?>
und entspricht dem früheren Platzhalter
###BILD_1_100_100_c###
###BILD_2_100_100_c###
Zur Erläuterung sei gesagt: Aus den vohandenen Modulen wird das Modul [wpsg_mod_produktbilder] mit der Methode “genBild” aufgerufen. Dieser werden die folgenden Parameter übergeben:
die weiteren Aufrufe für den Skaliermodus sind im folgenden dargestellt
S steht für “SKALIERUNG” und bedeutet, das dass Bild auf die angegebene Größe unter Beachtung des Seitenverhältnisses skaliert wird.
Z steht auch für Skalierung, hier wird aber das Seitenverhältnis nicht beachtet.
Wenn sie nur die URL zu einem skallierten Bild brauchen, so können sie folgenden Aufruf verwenden. (Das Bild wird dabei generiert und zwischengespeichert)
<?php echo $this->callMod('wpsg_mod_produktbilder', 'makeTn', array($product_id, $file, $width, $height, $mode)); ?>
Einen Array mit allen Bildern eines Produktes erhalten Sie mit folgender Funktion:
<?php $arBilder = $this->callMod('wpsg_mod_produktbilder', 'getProduktBilder', array($product_id)); ?>
Bei Versionen älter als 2.0.0 ist hier noch die veraltete Vorgehensweise beschrieben.
In den Produkttemplates kann der Platzhalter ###BILD### verwendet werden um das erste Bild des Produktes anzuzeigen. Alle weiteren Bilder werden in der Thickbox angezeigt.
Ab Version 1.3 ist es nun möglich die Bilder einzeln anzusprechen und auch die Bildgrößen zu definieren. Möchte man beispielsweise Bild 1 und Bild 2 anzeigen, so kann man die Platzhalter ###BILD_1### und ###BILD_2### verwenden.
Es ist auch möglich, die Platzhalter mit Parametern zu versenden. Die Platzhalter müssen dann mit Parametern wie folgt versehen werden:
###BILD_NR_BREITE_HOEHE_CSZ###
Beispiel: ###BILD_1_100_100_c###
NR ist die Nummer des Bildes, so wie sie im Dateisystem liegen (alphabetisch aufsteigender Dateiname)
BREITE ist die Breite des Bildes in Pixeln
HOEHE ist die Höhe des Bildes in Pixeln
CSZ ist der Modus wie das Bild an die Größe angepasst wird. (Erkärung, siehe oben)
Weitere nützliche Aufrufe bzgl. Produktbilder
Da die Templates in der Datenbank liegen und von den Shopbetreibern angepasst werden können aktualisieren wir sie nicht bei einer neuen Version. Wird allerdings eine neue Funktion implementiert so sind oft neue Platzhalter im Template nötig. Aus diesem Grund haben wir hier die 3 Standardtemplates separat aufgelistet, diese können auch verwendet werden um das Original wieder herzustellen, falls Fehler bei der Anpassung gemacht wurden.
Dieses Template unterstützt alle Module und ist als Ausgangspunkt für ihre Modifikationen gedacht.
Dieses Template ist das Standardtemplate und kann für Stückartikel modifiziert werden.
Dieses Template wurde speziell für Downloadprodukte angepasst. Ausgaben wie Varianten und Gewicht wurden hier bereits entfernt.
Dieses Template ist für ausverkaufte Produkte gedacht. Wenn Sie es verwenden möchten muss es im Modul “Lagerbestand” ausgewählt sein.
wpshopgermany_temp_ausverkauft
Diese Templates funktionieren ab Version 1.1.0 ! und kleiner Version 2.0.0!
Jede Darstellung der Produkte in wpShopGermany wird durch PHTML-Templates gesteuert. Diese Dateien sind im Grunde HTML-Dateien, welche auch PHP-Code enthalten und ausführen dürfen (nicht: müssen!). Der enthaltene HTML-Code kann mit Hilfe von CSS an die eigenen Bedürfnisse angepasst werden. Alle PHTML-Dateien liegen im Plugin-Ordner /wp-content/plugins/wpshopgermany/views/. In der wpShopGermany-Templateübersicht werden alle verwendeten Templates aufgelistet.
Möchte man ein Template anpassen, so kann man es direkt editieren.
Besser und Update-resistent ist folgende Methode:
Legen Sie einen neuen Ordner /wp-content/uploads/wpsg/user_views/ an, und kopieren sie die zu editierende Datei samt Pfad in diesen Ordner. Bei Updates werden alle Dateien im Ordner views/ überschrieben. Der Ordner user_views/ bleibt unverändert.
Soll z.B. das wpShopGermany-Widget verändert werden, kopieren Sie es von views/warenkorb/index.phtml nach /wp-content/uploads/wpsg/user_views/warenkorb/index.phtml und editieren es dort erst.
Kopieren Sie niemals den kompletten Ordner views/ nur um einige Änderungen vorzunehmen, kopieren Sie immer nur die Datei, die Sie bearbeiten wollen!
Manchmal reicht es nicht die Produkttemplates anzupassen, wenn man z.B. den Warenkorb durch eigene Buttons verändern will etc.
Dazu bieten wir ein von Magento inspiriertes Verfahren an. Die Templates liegen in phtml Dateien vor, welche im Prinpzip HTML Dateien mit einfachem PHP-Code sind. Diese Dateien liegen unter in /wp-content/plugins/wpShopGermany/views.
Möchte man nun beispielsweise die Darstellung des Warenkorbs verändern, so schaut man sich die Datei /wp-content/plugins/wpShopGermany/views/warenkorb/basket.phtml an. Diese ist mit HTML Kenntnissen anpassbar. Um die Datei aber nicht nach jedem Update neu anpassen zu müssen ist es möglich sie im Ordner /wp-content/uploads/wpsg/user_views/warenkorb/basket.phtml abzulegen.
Auf die gleiche Weise kann man auch css Anpassungen durchführen. Man kopiert einfach die gewünscht css-Datei aus dem Ordner /wp-content/plugins/wpShopGermany/views/css nach /wp-content/uploads/wpsg/user_views/css/ und führt dort die Anpassungen durch.
Dies hat auch den Vorteil, das sie die Orginale unverändert lassen. Sollten sie versehentlich einen Teil des Templates löschen, so können sie jederzeit die Datei in ../user_views durch die Datei in ../views ersetzen, denn alle darin enthaltenen Dateien können in ../user-views neu angepasst werden.
Selbst das Backend können sie auf diese Art und Weise ihren ganz persönlichen Ansprüchen anpassen. Jedoch sollte man beachten, dass nebne der Datei aus dem Ordner css, auch der Ordner gfx (ebenfalls in den user_views) zu kopieren ist, da verschiedene Icons sonst nicht mehr sichtbar sind und deren Möglichkeiten nicht mehr zur Verfügung stehen.
Dieses Feature ist ab Version 1.0.2 enthalten.
Ab Version 2.0.0 sind die Templates der Produkte auch im Dateisystem abgelegt. Die Standardtemplates liegen unter views/templates/produkt und können mit Dateien gleichen Namens unter user_views/templates/produkt überschrieben werden. Weiterhin ist es hier möglich weitere Dateien unter user_views/templates/produkt anzulegen und als Template für Produkte zu nutzen.