Tutorial: Neuen Bestell- & Zahlstatus erstellen

Achtung! Die hier zur Verfügung gestellten Informationen wurden zum Zeitpunkt der Veröffentlichung dieses Artikels getestet, können sich zwischenzeitlich aber geändert haben. Die Durchführung dieses Tutorials geschieht auf eigene Gefahr! Lege Dir vor der Durchführung ein Backup an, sodass Du dieses im Zweifel zurückspielen kannst. Beachte, dass es sich hier um Anpassungen von Shopware handelt und der Inhalt dieses Tutorials daher nicht offiziell supportet wird!

Vorwort

In diesem Artikel erklären wir, wie Du einen eigenen Bestell- oder Zahlstatus erstellen und diesen mit einer E-Mail-Vorlage verknüpfen kannst.

Status anlegen

Als erstes musst Du den gewünschten Status in der Datenbank anlegen. Öffne dazu in Deinem phpMyAdmin in Deiner Datenbank die Tabelle "s_core_states":

Schaue nun, welche ID du verwenden kannst. Im Standard ist die erste freie ID die 36. Füge nun einen neuen Datensatz in die Tabelle ein:

  • name ist ein intern verwendeter Name
  • description ist der öffentliche Name dieses Status, den auch der Kunde zu Gesicht bekommen wird.
  • position beschreibt die Position des Status innerhalb der Statusliste im Backend.
  • group wählt die Zugehörigkeit des Status, "state" für Bestellstatus und "payment" für Zahlstatus.
  • mail definiert, ob zu diesem Status eine Mail versendet werden soll (1) oder nicht (0)

E-Mail-Vorlage erstellen

Der Status ist erstellt, nun muss noch eine E-Mail-Vorlage für ihn erstellt werden. Diese E-Mail-Vorlage muss den Namen "sORDERSTATEMAIL"+"ID" tragen, in unserem Fall also "sORDERSTATEMAIL36". Erstelle diese E-Mail-Vorlage und fülle Sie mit dem gewünschten Inhalt:

Leere nun den Cache und lade das Backend einmal neu.

Status im Frontend bereitstellen

Als erstes öffnest Du Die Textbausteinverwaltung und erstellst unter "frontend/account/order_item" einen neuen Textbaustein, zum Beispiel "OrderItemInfoMeinNeuerStatus", welchen Du mit Deinem Wunschtext füllst:

Nun kannst Du den Textbaustein im Frontend bereitstellen. Erstelle dazu auf dem Server eine Templatedatei "order_item.tpl" im Verzeichnis /themes/Frontend/EIGENERTHEMENAME/frontend/account/. Dort muss nun der folgende Block mit Deinem neuen Status integriert werden:

 
{extends file='parent:frontend/account/order_item.tpl'}
 
{block name="frontend_account_order_item_status_value"}
<div class="column--value">
	<span class="order--status-icon status--{$offerPosition.status}"></span>
	{if $offerPosition.status==0}
		{s name="OrderItemInfoNotProcessed"}{/s}
	{elseif $offerPosition.status==1}
		{s name="OrderItemInfoInProgress"}{/s}
	{elseif $offerPosition.status==2}
		{s name="OrderItemInfoCompleted"}{/s}
	{elseif $offerPosition.status==3}
		{s name="OrderItemInfoPartiallyCompleted"}{/s}
	{elseif $offerPosition.status==4}
		{s name="OrderItemInfoCanceled"}{/s}
	{elseif $offerPosition.status==5}
		{s name="OrderItemInfoReadyForShipping"}{/s}
	{elseif $offerPosition.status==6}
		{s name="OrderItemInfoPartiallyShipped"}{/s}
	{elseif $offerPosition.status==7}
		{s name="OrderItemInfoShipped"}{/s}
	{elseif $offerPosition.status==8}
		{s name="OrderItemInfoClarificationNeeded"}{/s}
	{elseif $offerPosition.status==36}
		{s name="OrderItemInfoMeinNeuerStatus"}{/s}
	{/if}
</div>
{/block}
 


Damit nun noch das entsprechende Icon neben dem Status angezeigt wird ist es nötig, eine eigene "all.less" Datei zu erstellen. Der dort verwendete LESS-Code wird vom LESS-Compiler in normales CSS kompiliert.
Wechsle dazu in das Verzeichnis /themes/Frontend/EIGENERTHEMENAME/frontend/_public/src/less und erstellte dort die Datei all.less
Füge dann bitte den folgenden Code ein:

 
.order--status-icon {
  position: static;
 
  &.status--36 { //Mein neuer Status
    background: @highlight-info;
  }
}
 

Testen

Nachdem Du diese Änderungen vorgenommen hast, kannst Du den Status Im Bestellungsmdoul wie gewohnt nutzen:

Und ebenso im Frontend:

Weitere interessante Artikel:

Versandart Abholung anbieten

Wenn Du die Versandart "Abholung" anbieten möchtest, soll Dein Kunde im Normalfall keine Versandkosten bezahlen. Zahlungsarten-Aufschläge sind jedoch sinnvollerweise zu entrichten. In dieser Dokumentation erklären wir Dir, wie Du die Versandart...

weiterlesen

FAQ: Fehlermeldungen und deren Ursachen

Vorwort In diesem Beitrag findest Du häufige Fehlermeldungen und mögliche Lösungen. In vielen Fällen kannst Du hier einen Lösungsansatz erhalten. Fehlermeldungen werden in Shopware nicht unmittelbar an's Frontend gereicht, um dem Kunden ein...

weiterlesen

Lizenzierung und Installation von lizenzpflichtigen Plugins

Ab Shopware 5.2.0 Seit Shopware 5.2.0 sind ebenso die Shopware Premium Plugins quelloffen, der Einsatz des Lizenz-Managers und ebenso ionCube ist also bei Einsatz von Shopware 5.2.0 nicht mehr grundsätzlich erforderlich. Sowohl Subshops,...

weiterlesen
€ 10,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*