Skip to main content

VirtueMart von Version 2 auf Version 3 aktualisieren

Alexander Fischer
02. September 2015

Wer eine kleinen Anleitung zur Aktualisierung von VirtueMart 2.x auf 3.x sucht findet hier eine kleine Anleitung.

Was bedeutet "Upgrade"?

Upgrade bedeutet, dass es nicht ausreicht, einfach nur eine Komponente zu aktualisieren,  sondern es müssen auch alle damit verbundenen Erweiterungen zu aktualisiert werden. 

Das eigentliche Upgrade von VirtueMart

Schritt 1 "Vorbereitung"

Sie müssen also vor dem eigentlichen Upgrade Prozess erst einmal folgende Punkte durchführen:

  1. Suchen Sie nach allen Zusatzmodulen welche mit VirtueMart zu tun haben und nicht direkt von VirtueMart programmiert wurden. Diese Erweiterungen müssen natürlich mit VirtueMart 3 Kompatibel sein um auch nach dem Upgrade zu funktionieren. Im Einzelnen betrifft es in der Regel:
    1. Plugins (Bezahlung, Versand, Zoll, Userfields, ...)
    2. Modules (Wagen, Kategorie, Sliders)
    3. 3rd Party Komponenten (Rechnung, Post, Steckverbinder)
    4. Das Template
  2. Unbedingt ein komplettes Backup erstellen um bei Fehlern wieder zur alten Version zurückkehren zu können.
  3. Die Versandkosten in den Versandmodulen werden leider nicht automatisch übernommen, das heißt schreiben Sie sich die Versandkosten unbedingt auf und bearbeiten nach dem Upgrade die Versandmodule.

Schritt 2 "Das Upgrade"

Das eigentliche Upgrade ist recht leicht, Sie müssen:

  1. Die aktuelle Version von VirtueMart 3 über den Joomla eigenen Installer hochladen und installieren.
  2. Die Komponente Virtuemart AIO muss ebenfalls neu Installiert werden, so wie
  3. die Erweiterung com_tcpdf. Die Erweiterung tcpdf ist für des erstellen von PDF Rechnungen mit Virtuemart wichtig.

Schritt 3 "Nacharbeiten"

  1. Gehen Sie zu den "Werkzeugen" in der Administrationsoberfläche von VirtueMart und verwenden Sie dort das Tool "Remove old vm2 inherited customfields" um die alten Individuellen Felder aus VirtueMart 2 zu entfernen. Achtung diese Arbeiten können nicht rückgängig gemacht werden.
  2. Sollten in einer Kundengruppe die Käufergruppenspezifische Preisanzeige einschaltet sein, so muss nach dem Update hier der Haken im Feld "Preise Anzeigen" gesetzt werden.
  3. Die Preise der Versandarten müssen wieder neu eingetragen werden.
  4. Am Ende dann der Test ob alles wie gewünscht funktioniert.

Schritt 4 Zusatzmodule von Drittanbietern

Wenn die Grundinstallation von VirtueMart funktioniert gehen Sie an die Aktualisierung der Zusatzmodule falls diese nicht mit VirtueMart 3 kompatibel sind.

Die Komponente VMInvoice von Artio muss von Version 2 auf Version 3 aktualisiert werden. Hierzu haben wir eine extra Anleitung im Artikel "Upgrade Artio VM Invoice 2 zu 3" erstellt.

Was ist zu beachten

Verwendung des Templates

Das Template welches Sie für Joomla 2.5 verwenden wird zwar weiterhin funktionieren so lange Sie nicht auch den Joomla! Kern auf die Version Joomla! 3.x aktualisieren wollen, aber wenn Sie Overwrites für VirtueMart verwenden müssen diese in der Regel angepasst werden.

Die Datenbank und die Individuellen Produktfelder

Die Änderungen an der Datenbank für VirtueMart 3 werden beim Upgrade automatisch durchgeführt. Die meisten Benutzerdefinierten Felder für die Produkte werden auch übernommen aber besonders wer Anpassungen für eine Produktauswahl (Verpackungsgröße o.ä.) in diesen Feldern eingebunden hat sollte vorher das Upgrade Testen.

Weitere Fehler und Probleme die auftauchen könnten

Preise ohne MwSt

Preise werden plötzlich ohne MwSt angezeigt wenn man sich als Kunde einloggt. Der Grund ist hier oft eine Einstellung in der Preisregel. Es muss als Regel MwSt ausgewählt werden.


Es ist in den letzten Jahren schon öfter passiert das Shop Betreiber die Virtuemart verwenden doppelte Emails nach einer Bestellung erhalten. Hier sind einige der Häufigsten Uhrsachen und deren Lösung:

Testbestellung als Shop Betreiber

Jeder der an seinem Shop etwas ändert wird früher oder später auch eine Testbestellung machen. Hierbei sollte man aber bedenken, dass der Shop Betreiber über jede Bestellung benachrichtigt wird und wenn man sich nun als Shop Betreiber im Frontend einloggt und eine Bestellung absendet geht auch die Bestellmail an die gleiche E-Mail Adresse.

Am besten einen Testkunden Anlegen und eine der Zahllosen Freemaildienste nutzen, somit ist sichergestellt das die E-Mails an den Betreiber und den Testkunden in unterschiedlichen Postfächern landen.

Doppelte E-Mails nach Aktualisierung auf Virtuemart 2.6.10 oder 3.x

Dieser Fehler ist etwas kniffliger, da hier tatsächlich ein Fehler im System liegt. Bis Virtuemart 2.6.8 war der geringst mögliche Bestellstatus Pending (offen) nun wurde aber bei einer Systemumstellung festgelegt, dass dieser Bestellstatus ausschließlich für unvollständige Bestellungen zur Verfügung steht.

Die Lösung ist hier hat vier Schritte:

  1. Es wird einen neuen Bestellstatus benötigt z.B. "Warten auf Zahlung". Wichtig ist das der Bestellstatuscode nicht "P" ist sondern z.B. "B". Der Bestellstatuscode ist später noch wichtig für den die Spracheinstellungen für die E-Mailbetreffzeile (Punkt 4).
  2. In allen Zahlungsmodulen die das Plugin VM - Payment, Standard (Zahlungsart Standard) verwenden muss in der Konfiguration im Punkt "Bestellstatus für noch ausstehende Zahlungen" der vorher neu angelegt Bestellstatus "Warten auf Zahlung" ausgewählt werden.
  3. Als nächster Punkt muss noch eine Betreffzeile für die Emails des neuen Bestellstatus eingerichtet werden. Dazu gehen Sie über Erweiterungen und Sprachen auf den Punkt Overwrites und erstellen einen neuen Overwrite. Suchen Sie nach dem Schlüssel " COM_VIRTUEMART_MAIL_SUBJ_SHOPPER_P", wählen diesen zum Bearbeiten aus und tauschen im Schlüssel das "P" am Ende durch ein "B". Das Gleiche vorgehen wiederholen Sie dann mit de, Schlüssel "COM_VIRTUEMART_MAIL_SUBJ_VENDOR_P".
  4. In der Grundkonfiguration von Virtuemart müssen Sie nun noch die Kasseneinstellungen bearbeiten. Das Betrifft die Auswahlen in den Punkten "Standard-Bestellstatus, bei welchem eine E-Mail an den Käufer versendet wird" und "Standard-Bestellstatus, bei welchem eine E-Mail an den Verkäufer versendet wird", hier muss der Bestellstatus Pending (offen) entfernt und der neue Bestellstatus "Warten auf Zahlung" eingefügt werden.