nas – advanced

NAS Advanced 3.0B – 6x SATA mit AMD Athlon 3000G


[expand title=“mehr lesen…“]

Unsere neue NAS Advanced 3.0B Zusammenstellung setzt auf einen AMD Athlon 3000G* und ein kleines und günstiges AM4-Mainboard. Wir benutzen in diesem NAS das ASUS PRIME A320M-A* mit 6 SATA-Ports und einem nativen M.2 Slot. Unser NAS haben wir mit 8 GB DDR4-2400 Arbeitsspeicher ausgestattet.

Dabei haben wir auch auf das Budget geachtet, denn einer der größten Vorteile bei einem Selbstbau-NAS ist das Preis- Leistungsverhältnis. Außerdem wählen wir immer aktuelle und energiesparende Hardware aus. Sämtliche Hardware kaufen wir selbst. Dadurch können wir euch unabhängig Hardware empfehlen. Hardware die uns nicht überzeugt, wird auch nicht empfohlen.

NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G

Stammbesucher werden sich jetzt sicherlich über die Namensgebung dieser Zusammenstellung wundern, denn es gibt bereits ein NAS Advanced 3.0 mit Intel Prozessor und einem C246 Server-Mainboard. Wir haben uns nach einigen Überlegungen auf folgende Namensgebung festgelegt:

  • NAS Starter – Ein sehr kleines Einsteiger NAS auf der Basis eines Raspberry Pis für bis zu 2 Festplatten
  • NAS Basic – Ein kleines NAS mit Unterstützung von bis zu 4 Festplatten (Mini-ITX)
  • NAS Advanced – Ein NAS für bis zu 6 Festplatten (plus Erweiterungsmöglichkeit)
  • NAS Expert – Ein NAS für mindestens 6 Festplatten und ECC-Speicherunterstützung

Unser normales NAS Advanced (ohne B) ist also das zukünftige NAS Expert. Umbenennen können wir dies aber aus technischen Gründen nicht und daher führen wir diese Zusammenstellung als NAS Advanced 3.0B.

Prozessor
Eigenschaft Wert Bemerkungen
Prozessor AMD Athlon 3000G* Erschienen Q4/2019
Kerne 2
Hyperthreading
Takt 3,5GHz
Cache 4MB
Übertaktbar
Speicherchannels 2
ECC-Support nicht geprüft / benutzt
iGPU AMD Radeon Vega 3
iGPU – Ausführungseinheiten 3
iGPU – Shader 192
iGPU – Takt (Basis) 1100MHz
TDP 35W
Architektur Picasso (Zen+)
Sockel AM4
Fertigung 12nm

Der AMD Athlon 3000G* ist ein Zweikern-Prozessor, kann aber durch Unterstützung von Hyper-Threading bis zu 4 Threads gleichzeitig abarbeiten. Er wurde im 4 Quartal 2019 vorgestellt und löst den AMD Athlon 240GE ab, der im Prinzip technisch sehr ähnlich ist aber deutlich mehr kostet als der neue AMD Athlon 3000G*. Alle technischen Daten inkl. Benchmarks zum Prozessor findet ihr wie immer in unserer eigenen CPU-Datenbank: AMD Athlon 3000G.

Wer mehr Leistung benötigt, der greift einfach zum AMD Ryzen 3 2200G* (4 Kerne / 4 Threads) bzw. AMD Ryzen 5 2400G* (4 Kerne / 8 Threads) die kompatibel zu der restlichen Zusammenstellung sind.

Für uns ist wichtig, dass der AMD Athlon 3000G* eine interne Grafikeinheit (AMD Radeon Vega 3) mitbringt, was bei AMDs Ryzen Prozessoren eher selten ist. Dem Prozessor liegt in der „Boxed“ Version ein CPU-Kühler bei, der absolut ausreicht, sofern euch die Lautstärke des CPU-Kühler nicht so wichtig ist. Er besitzt ein vorinstalliertes Pad aus Wärmeleitpaste und muss nur noch auf die CPU aufgesetzt werden. Die Befestigung auf dem Sockel erfolgt über ein Metallblech, welches über einen Hebel fixiert wird.

Alternativ gibt es eine große Auswahl an Sockel AM4-Kühlern. Mein Favorit ist hier der Noctua NH-L9a-AM4*, der mit ca. 41 Euro aber recht teuer ist. Ein guter Kompromiss zwischen Lautstärke und Preis ist der ARCTIC Freezer 13*. Kommt es bei euch nicht auf die Lautstärke an, ist der AMD Boxed Kühler aber völlig ausreichend.

AMD Boxed Kühler

Mainboard & Anschlüsse
Eigenschaft Wert Bemerkungen
Chipsatz AMD A320
DDR4-Slots 2
max. Speicherspezifikation DDR4-2933
max. Speicherkapazität 64GB
ECC-Support abhängig von der CPU
PCI-E 3.0 x16 1
PCI-E 2.0 x1 2
SATA (6Gbit/s) 6
M.2 Slot (PCIe 3.0 x4) 1
LAN (1 Gbit/s) 1 Realtek RTL8111H
USB 2 (0.5 GBit/s) an I/O-Blende 2
USB 2 (0.5 GBit/s) als Header 4
USB 3.0 (5 GBit/s) an I/O-Blende 4
USB 3.0 (5 GBit/s) als Header 2
HDMI 2.0 1
DVI 1
VGA 1
Audio Realtek ALC887 8-Kanal High Definition Audio
FAN-Header 2 1x CPU, 1x Gehäuse
Formfaktor mATX

Das Mainboard stammt diesmal von ASUS. Mit dem ASUS PRIME A320M-A* hat der Hersteller ein wirklich interessantes Produkt im Angebot: 6x SATA, M.2 Slot sowie ausreichend USB-Ports (sowohl in der I/O-Blende als auch als Header auf dem Mainboard). Das ASUS PRIME A320M-A* besitzt außerdem eine gute Lüftersteuerung. Wem also später der CPU-Lüfter oder die Gehäuselüfter zu laut sind, kann diese direkt über das Bios anpassen.

NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G

Beim Arbeitsspeicher fiel unsere Wahl auf das Crucial CT2K4G4DFS824A* (2x 4GB = 8 GB) DDR4-2400 Kit. Der Arbeitsspeicher ist einer der günstigsten und außerdem haben wir mit Arbeitsspeicher von Crucial gute Erfahrungen. Es gibt natürlich schnelleren Arbeitsspeicher, wie z.B. das 8 GB Kit G.Skill Ripjaws F4-3200C16D-8GVK*, welches wir auch besitzen. Der Preis ist aber deutlich höher und in einem NAS merkt man unserer Meinung nach den Unterschied zwischen DDR4-2400 und DDR4-3200 nicht.

Wir würden euch raten zu einem Kit (also 2 Arbeitsspeicher-Riegeln) zu greifen, da der AMD Athlon 3000G* über 2 Speicherkanäle verfügt und sich die Speicherbandbreite beim Einsatz von 2 Riegeln fast verdoppelt.

Bios

Das ASUS PRIME A320M-A* verfügt über ein modernes Bios. Bei eingestecktem Netzwerkkabel ist das Bios zudem in der Lage sich selbstständig zu aktualisieren. Das manuelle Downloaden von neuen Bios-Versionen kann so entfallen.

NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G
Festplatten & RAID
Eigenschaft Wert Bemerkungen
AHCI & NCQ
Hot-Plug
HW/FR – RAID 0
HW/FR – RAID 1
HW/FR – RAID 10
unterstützte 2,5 Zoll Festplatten 6Stück
unterstützte 3,5 Zoll Festplatten 6Stück

Der Systemdatenträger kann auf drei Arten realisiert werden ohne das dabei einer der 6 SATA-Ports des Mainboard genutzt werden muss. Die SATA-Ports möchten wir für die Nutzung unserer Datenfestplatten frei halten.

Von einem normalen USB-Stick als Datenträger für das Betriebssystem raten wir dringend ab, denn für die häufigen Lese- und Schreibvorgänge des Betriebssystems sind USB-Sticks nicht ausgelegt. Eine eingeschränkte Ausnahme bilden USB-Sticks mit speziellen SLC-Speicherzellen, die auf Langlebigkeit ausgerichtet sind. Allerdings haben wir auch mit SLC-Sticks schlechte Erfahrungen gemacht, daher raten wir auch von diesen Sticks ab.

Eine Ausnahme ist der empfohlene SanDisk Extreme PRO* 128GB*, der SSD-Technik an Board hat und dementsprechend haltbar ist. Wer sich für die Option des USB-Sticks bzw. der M.2 in einem USB-Gehäuse entscheidet, der kann auch einen USB 3.0 20-Pin Mainboard Header* verwenden, an den dann der Datenträger für das Betriebssystem angeschlossen wird. So wandert der Datenträger in das Gehäuse und ist geschützt.

NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G

Die eleganteste Lösung bei diesem System ist es, den M.2 Slot des Mainboards zu benutzen und dort eine schnelle PCIe-SSD wie die 250GB Samsung 970 EVO* zu verbauen. Diese Lösung verwenden wir auch in unserem System.

Über den PCIe 3.0 x16 Erweiterungsslot des Mainboards lassen sich später auf Wunsch weitere Festplatten über eine SATA-Karte anschließen. Wer plant als 6 Datenplatten anzuschließen, der sollte sich den Syba SD-PEX40099 4 Port SATA 3 Controller* bzw. den Syba SD-PEX40099 8 Port SATA 3 Controller* anschauen.

Diese beiden Controller besitzen zwar nur ein PCI-E 2.0 x1 Interface, passen dafür aber in alle 3 Ports des Mainboards. Für den normalen NAS-Betrieb reicht die Bandbreite von ca. 450 MB/s pro Controller aus.

https://googleads.g.doubleclick.net/pagead/ads?guci=1.2.0.0.2.2.0.0&client=ca-pub-8727092218111858&output=html&h=200&slotname=3455416080&adk=2838767516&adf=54317117&pi=t.ma~as.3455416080&w=950&fwrn=4&lmt=1610558470&rafmt=11&psa=0&format=950×200&url=https%3A%2F%2Fwww.elefacts.de%2Ftest-120-nas_advanced_3.0b__6x_sata_mit_amd_athlon_3000g&flash=0&wgl=1&adsid=NT&dt=1610558399085&bpp=32&bdt=374&idt=10406&shv=r20210107&cbv=r20190131&ptt=9&saldr=aa&abxe=1&cookie=ID%3D233e1168d3a89ad2-22db519f9ea6003c%3AT%3D1610558408%3ART%3D1610558408%3AS%3DALNI_MYcVWx5AWnkia7pRCtbxZFWQVJqNw&prev_fmts=970×250%2C0x0&nras=1&correlator=5239651006864&frm=20&pv=1&ga_vid=2036741910.1610558409&ga_sid=1610558410&ga_hid=1712131869&ga_fc=0&rplot=4&u_tz=60&u_his=1&u_java=0&u_h=1050&u_w=1680&u_ah=1010&u_aw=1680&u_cd=24&u_nplug=0&u_nmime=0&adx=358&ady=8982&biw=1663&bih=880&scr_x=0&scr_y=5560&eid=21068769%2C21069109%2C21069719%2C21068786&oid=3&pvsid=3097133018818912&pem=798&ref=https%3A%2F%2Fwww.elefacts.de%2Ftest-153-nas_basic_2.1__mini_itx_eigenbau_nas_mit_4x_sata_und_passiver_4_kern_cpu&rx=0&eae=0&fc=896&brdim=1912%2C-8%2C1912%2C-8%2C1680%2C0%2C1696%2C1026%2C1680%2C880&vis=1&rsz=o%7Co%7CeEbr%7C&abl=NS&pfx=0&fu=8320&bc=31&ifi=2&uci=a!2&btvi=1&fsb=1&xpc=y8wqxLnlb1&p=https%3A//www.elefacts.de&dtd=71311

Datenfestplatten

Bei den Datenfestplatten greifen wir zur WD Red* NAS Serie, die für den Einsatz im NAS konzipiert sind und über eine abgestimmte Firmware sowie TLER (Time Limited Error Recovery) verfügen und sich ideal für den Einsatz in einem RAID eignen. Alternativ kann man die Seagate Ironwolf* NAS Serie nutzen, die technisch fast identisch mit den WD Red* Festplatten ist. So verfügen die Seagate NAS Festplatten etwa mit ERC (Error Recovery Control) ebenfalls über ein Feature zur Minimierung von Problemen im RAID-Betrieb. Beide Hersteller gewähren 3 Jahre Garantie auf die NAS Festplatten.

NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G

Denkt bei der Wahl des Gehäuses (siehe weiter unten) unbedingt an eine gute Belüftung der Datenfestplatten. Festplatten die im Betrieb über längere Zeit zu warm werden, fallen deutlich schneller aus als ausreichend gekühlte Festplatten.

Möchtet ihr mehr über die NAS-Festplatten der WD-Red bzw. Seagates Ironwolf Serie wissen ? Dann schaut mal hier vorbei: Western Digital Red* vs. Seagate Ironwolf

Netzteil
Eigenschaft Wert Bemerkungen
Formfaktor ATX 2.4
Max. Leistung 350W Spitzenleistung 400 W
SATA-Power 5
80 PLUS Zertifizierung Bronze
Überstromschutz (OCP)
Überspannungsschutz (OVP)
Unterspannungsschutz (UVP)
Kurzschlussschutz (SCP)
Überhitzungsschutz (OTP)
Überlastschutz (OPP)
NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G

Wir setzen in dieser Zusammenstellung auf das be quiet! Pure Power 11 350W*. Dieses besitzt 5 SATA-Power Anschlüsse, so dass wir bei der Verwendung von 6 Datenfestplatten nur einen Y-Adapter benötigen. Das kleinere be quiet! Pure Power 11 300W* würde von der Leistung auch ausreichen, kostet aber nur unwesentlich weniger und besitzt auch nur 4x SATA Power. Beide Netzteile sind 80 Plus Bronze zertifiziert (84% Effizienz bei 20% Last, 87% bei 50% Last und 84% bei 100% Last).

Das Netzteil verfügt über eine Garantie von 5 Jahren wobei der Hersteller angibt, das sämtliche Komponenten auf 100.000 Stunden Einsatz ausgelegt sind. Bei einem 24/7 Betrieb sind dies über 11 Jahre. Sämtliche Kabel sind durch ein Netzgewebe geschützt.

Das be quiet! Pure Power 11 350W* ist wirklich flüsterleise: selbst bei 50% Last gibt der Hersteller 11,1 dB(A) an, was in einem normalen Zimmer unhörbar ist. Selbst bei 100% Last ist das Netzteil mit maximal 16,4 dB(A) kaum zu vernehmen. Dies liegt an dem 120 mm großen be quiet! Lüfter, der maximal mit 1.000 Umdrehungen pro Minute arbeitet und temperaturabhängig gesteuert wird.

Wem Lautstärke und Verarbeitungsqualität nicht ganz so wichtig sind, der kann zum be quiet! System Power B9 300W* greifen. Dieses Netzteil besitzt 4 SATA-Power Anschlüsse, wird mit maximal 24,9 dB(A) ein ganzes Stück lauter und verfügt über eine Garantie von 3 Jahren. Es besitzt zwar keine 80 Plus Zertifizierung, arbeitet aber genauso effizient wie die Pure Power 11 Modelle.

Gehäuse
Eigenschaft Wert Bemerkungen
ATX
Micro-ATX
Mini-ITX

Da wir ein mATX Mainboard benutzen, haben wir bei den Gehäusen quasi freie Auswahl. Ich habe darauf geachtet, dass sich in der Front (zur Kühlung der Datenfestplatten) mindestens 1, besser 2 Lüfter verbauen lassen. Außerdem lassen sich in alle Gehäuse mindestens 6 3,5 Zoll Festplatten einbauen.

Gehäuse 3,5 Zoll Slots Lüfter inkl. Preis
Cooler Master N300* 7 + 2 2x 120 mm 55 Euro
Cooler Master N400* 7 + 2 2x 120 mm 70 Euro
Antec New Solution NSK 4100* 7 + 3 1x 120 mm 40 Euro
Cooler Master CM Force 500* 7 + 2 1x 120 mm 45 Euro
Fractal Design Define R6* 6 + 3 3x 140 mm 140 Euro

Ich verwende bei mir selbst das Fractal Design Define R6* bzw. den Vorgänger, das Fractal Design Define R5*. Preislich ist das Gehäuse zwar wirklich nicht günstig, aber dafür hält es sicherlich für 2-3 PC-Generationen. Die verbauten 140 mm Lüfter sind leise und kühlen meine Datenfestplatten perfekt. Natürlich könnt ihr euch zu den günstigeren Gehäusen auch zusätzliche 120 mm bzw. 140 mm Lüfter dazukaufen.

NAS Advanced 3.0B - 6x SATA mit AMD Athlon 3000G
Betriebssystem
Eigenschaft Wert Bemerkungen
OpenMediaVault 5 basiert auf Debian Linux 10
NAS4Free 11
FreeNAS 11
Windows 10

Wir haben das neuste OpenMediaVault 5 installiert, welches auf Debian Linux 10 basiert. Für dieses Betriebssystem bieten wir euch eine vollständige OpenMediaVault Installationsanleitung an. Debian Linux ist sehr schlank und benötigt nicht viele Ressourcen. Wir haben insgesamt 8 GB verbaut. Das reicht auch für den Betrieb von 1-2 VMs aus. In einer Minimalkonfiguration wären auch 4 GB denkbar.


Wir hatten mit dem neusten 5.40 Backports Kernel übrigens Probleme mit dem AMD Athlon 3000G* und sind daher auf dem Standardkernel 4.19 geblieben.

Benchmarks
Eigenschaft Wert Bemerkungen
Max. Lesen via SMB/NFS 112MB/s
Max. Schreiben via SMB/NFS 112MB/s
Max. Lesen via FTP 113MB/s
Max. Schreiben via FTP 113MB/s
Max. CPU Last SMB-Lesen 17%
Max. CPU Last SMB-Schreiben 15%
Cinebench R15 Einkern 139 cbcb
Cinebench R15 Mehrkern 388 cbcb
Energieverbrauch
Eigenschaft Wert Bemerkungen
Ausgeschaltet 2,0W
Standby 2,0W
Leerlauf 24W

Der Energieverbrauch war AMD typisch leider etwas höher als bei einem vergleichbaren Intel System. Diese Beobachtung haben wir schon häufig gemacht und können uns dies nur mit dem Chipsatz des Mainboards erklären. Mit dem Linux Tool powertop (apt-get install powertop) lässt sich der Energieverbrauch noch etwas drücken.

https://googleads.g.doubleclick.net/pagead/ads?guci=1.2.0.0.2.2.0.0&client=ca-pub-8727092218111858&output=html&h=200&slotname=5559314179&adk=366711296&adf=393148162&pi=t.ma~as.5559314179&w=950&fwrn=4&lmt=1610558470&rafmt=11&psa=0&format=950×200&url=https%3A%2F%2Fwww.elefacts.de%2Ftest-120-nas_advanced_3.0b__6x_sata_mit_amd_athlon_3000g&flash=0&wgl=1&adsid=NT&dt=1610558399119&bpp=7&bdt=407&idt=10376&shv=r20210107&cbv=r20190131&ptt=9&saldr=aa&abxe=1&cookie=ID%3D233e1168d3a89ad2-22db519f9ea6003c%3AT%3D1610558408%3ART%3D1610558408%3AS%3DALNI_MYcVWx5AWnkia7pRCtbxZFWQVJqNw&prev_fmts=970×250%2C0x0%2C950x200&nras=1&correlator=5239651006864&frm=20&pv=1&ga_vid=2036741910.1610558409&ga_sid=1610558410&ga_hid=1712131869&ga_fc=0&rplot=4&u_tz=60&u_his=1&u_java=0&u_h=1050&u_w=1680&u_ah=1010&u_aw=1680&u_cd=24&u_nplug=0&u_nmime=0&adx=358&ady=15507&biw=1663&bih=880&scr_x=0&scr_y=12101&eid=21068769%2C21069109%2C21069719%2C21068786&oid=3&pvsid=3097133018818912&pem=798&ref=https%3A%2F%2Fwww.elefacts.de%2Ftest-153-nas_basic_2.1__mini_itx_eigenbau_nas_mit_4x_sata_und_passiver_4_kern_cpu&rx=0&eae=0&fc=896&brdim=1912%2C-8%2C1912%2C-8%2C1680%2C0%2C1696%2C1026%2C1680%2C880&vis=1&rsz=o%7Co%7CeEbr%7C&abl=NS&pfx=0&fu=8320&bc=31&ifi=3&uci=a!3&btvi=2&fsb=1&xpc=yXnBRx4uqH&p=https%3A//www.elefacts.de&dtd=71727

Technische Daten (Zusammenfassung)
Eigenschaft Wert Bemerkungen
Prozessor AMD Athlon 3000G* 2 Kerne, 4 Threads, 35W TDP
Prozessor (Alternativ) AMD Ryzen 3 3200G* 4 Kerne, 4 Threads, 65W TDP
Prozessor (Alternativ) AMD Ryzen 5 3400G* 4 Kerne, 8 Threads, 65W TDP
Prozessor Kühler (Alternativ) Noctua NH-L9a-AM4* 140mm PWM Lüfter inkl. Wärmeleitpaste
Prozessor Kühler (Alternativ) ARCTIC Freezer 13* 92 mm PWM Lüfter inkl. Wärmeleitpaste
Mainboard ASUS PRIME A320M-A* 6x SATA
Mainboard (Alternativ) ASUS PRIME A320M-K* 4x SATA, einfachere Stromversorgung
Arbeitsspeicher Crucial CT2K4G4DFS824A* 2x 4GB DDR4-2400
Systemdatenträger SanDisk Extreme PRO* 128GB*
Systemdatenträger (Alternativ) 250GB Samsung 970 EVO* SSD direkt oder via SilverStone SST-MS09C*
Netzteil be quiet! Pure Power 11 350W* 5x SATA Power
Netzteil (Alternativ) be quiet! Pure Power 11 300W* 4x SATA Power
Netzteil (Alternativ) be quiet! System Power B9 300W* 4x SATA Power, lauter als die Pure Power 11 Modelle
Adapter / Kleinteile (Optional) Syba SD-PEX40099 4 Port SATA 3 Controller* weitere 4 SATA Ports
Adapter / Kleinteile (Optional) Syba SD-PEX40099 8 Port SATA 3 Controller* weitere 8 SATA Ports
Adapter / Kleinteile (Optional) SATA Power Y-Kabel*
Adapter / Kleinteile (Optional) 5,25 Zoll auf 3,5 Zoll HDD Adapter*
Adapter / Kleinteile (Optional) USB 3.0 20-Pin Mainboard Header*
Gesamtpreis System ab 255 Euro€

Ab 255 Euro bekommt man mit dem NAS Advanced 3.0B ein tolles Komplettpaket das auch viele Festplatten beherbergen kann. Dabei hat schon der AMD Athlon 3000G* mehr als Genug Leistung für ein ausgewachsenes NAS. Wer viel mit Virtualisierung oder Containern arbeitet, kann zum AMD Ryzen 3 2200G* oder zum AMD Ryzen 5 2400G* greifen, die nochmal mehr Leistung bieten.

Unsere aktuellen NAS-Zusammenstellungen in der Übersicht

Ihr habt jetzt Lust auf ein Eigenbau NAS bekommen ? Wir haben für euch eine Übersicht aller aktuellen NAS Zusammenstellungen erstellt. Diese Liste wird ständig aktualisiert und ist damit immer auf dem letzten Stand. Alle Systeme können mit einem beliebigen Betriebssystem (z.B. Windows 10, Linux oder FreeBSD) genutzt werden.

Wir nutzen als Standard-NAS Betriebssystem in unseren Artikeln OpenMediaVault, welches auf Debian Linux aufsetzt und eine Weboberfläche mit allen benötigten NAS-Funktionen zur Verfügung stellt. Linux Fachwissen wird nicht benötigt.

Name HDDs Prozessor CB 15 MC ECC Letztes Update Preis
NAS Starter 2.0 2 Raspberry Pi 4 B* Nein 07/2019 ab 67 €
NAS Basic 2.1 4 Intel Celeron J5040 onBoard 317 cb Nein 11/2020 ab 240 €
NAS Advanced 3.0B 6+ AMD Athlon 3000G* 388 cb Nein 01/2020 ab 255 €
NAS Expert 3.0 6+ Intel Pentium G5400* 403 cb Ja 01/2020 ab 455 €


[/expand]




bequiet – pc gehäuse

bequiet – pc gehäuse


[expand title=“mehr lesen…“]

DARK BASE PRO 900

Orange rev. 2

Außerordentlich flexibel und leise

Das be quiet! Dark Base Pro 900 Orange rev. 2 ist das perfekte Gehäuse für alle, die höchsten Standard erwarten, wenn es um Modularität, Kompatibilität und Design ihrer Systeme geht.

  • Mainboard-Tray und HDD-Tray mit erweiterten Einbaumöglichkeiten für individuelle Platzbedürfnisse
  • Drei Silent Wings 3 PWM Lüfter
  • Stufenlose Dual-Rail-Lüftersteuerung umstellbar zwischen Silence- und Performance-Mode
  • Einsatzbereit für Radiatoren bis zu 420mm
  • Seitenfenster aus Temperglas
  • Ansprechende RGB LED-Beleuchtung
  • Drei Jahre Herstellergarantie
  • Produktkonzeption, Design und Qualitätskontrolle in Deutschland


[/expand]




Shopware 6 Storefront-Templates

Shopware 6 Storefront-Templates


[expand title=“mehr lesen…“]

Templates

The storefront theme is using Boostrap. Therefore the template structure is a derivative of the bootstrap starter template. The templating engine used is Twig. For styling SASS is used as CSS preprocessor. The bundling and transpiling of the javascript is done with Webpack.

The templates can be found in /src/Storefront/Resources/views/storefront/

Template Top Level

<platform/src/Storefront/Resources/views/storefront/>
└── block
└── component
└── element
└── layout
└── page
└── section
└── utilities
└── base.html.twig

block, element, sectionParts of the experience worldscomponentShared content templates form the basis of the pages.layoutLayout templates. Navigation, header and footer content templates are located here.pageThe concrete templates rendered by the page controllers. This directory contains full page templates as well as private local includes and the pagelet ajax response templates if necessary. utilitiesTechnical necessities used across the content and across all domain concepts.base.html.twigBase page layout of the storefront. This file mainly includes header and footer templates from /layout and provides blocks for the /page templates to overwrite.

Page templates

The page directory contains the entry points which are referenced by page controllers and rendered through the Twig engine. The structure is derived from the page controller naming.

<platform/src/Storefront/Resources/views/storefront/page>
└── account
└── checkout
└── content
└── error
└── newsletter
└── product-detail
└── search

Inside the directories are the actual templates rendered by the storefront. The inner structure depends on the domain context.

Override and extend templates

Due to the plugin and theme system in shopware it is possible that one storefront template gets extended by multiple plugins or themes, but Twig does not allow multi inheritance out of the box. Therefore we created custom twig functions sw_extends and sw_include, that work like twigs native extends or include, except that they allow for multi inheritance. So it is really important to use the sw_extends and sw_include, instead of the native extends and include.

sw_extends

To inherit a template file, you need to use {% sw_extends %}.

Example:

{# YourPlugin/Resources/views/storefront/layout/header/logo.html.twig #}

{% sw_extends '@Storefront/storefront/layout/header/logo.html.twig' %}

{# Add an <h2> with underneath the logo image block #}
{% block layout_header_logo_image %}
    {{ parent() }}
    <h2>Additional headline</h2>
{% endblock %}

sw_include

If you build your own feature and you need e.g. an element to display the price of the current product you can include existing partials with sw_include like this.

Example:

{# MyPlugin/Resources/views/storefront/page/product-detail/index.html.twig #}

<div class="my-theme an-alternative-product-view">
    ...

    {% block component_product_box_price %}
        {# use sw_include to include template partials #}
        {% sw_include '@Storefront/storefront/component/product/card/price-unit.html.twig' %}
    {% endblock %}

    ...
</div>

Inheritance order

The order of the inheritance is determined by the order you set in the theme.json of your active theme.

Styles Top Level

The stylesheets are written in SASS. The organization is inspired by the 7-1 pattern structure.

<platform/src/Storefront/Resources/app/storefront/src/scss>
└── abstract
└── base
└── component
└── layout
└── page
└── skin
└── vendor
└── base.scss

The base.scss is the global include file which references styles that are written as an extension of the bootstrap base. For further information just take a look at the excellent description at sass-guidelines.es.

Scripts Top Level

The storefront includes a set of JavaScript plugins providing different functionalities to the storefronts templates on the client side. The plugins are written as ES6 classes in vanilla JavaScript. Additionally since bootstrap is distributed with the jQuery library the storefront also contains this library.

The script root looks like this:

<platform/src/Storefront/Resources/app/storefront/src/script>
└── config
└── helper
└── plugin
└── service
└── utility
└── vendor
└── base.js

Sanitize content

Filters tags and attributes from a given string.

The filter can be found in /src/Storefront/Framework/Twig/Extension/SwSanitizeTwigFilter.phpExamples:{{ unfilteredHTML|sw_sanitize }}Uses the default config{{ unfilteredHTML|sw_sanitize( {'div': ['style', ...]}, true ) }}allow only div tags + style attribute for div


[/expand]




sass

sass


[expand title=“mehr lesen…“]


[/expand]




Sales channel – Verkaufskanäle – Forum-slack – 23-10-2020

Shopware 6 Sales channel – Verkaufskanäle – Forum-slack – 23-10-2020


[expand title=“mehr lesen…“]

Hendrik11:20 Uhr

What is the best way to create a SalesChannelContext, eg. when using a CLI command? I loaded a SalesChannelEntity and used SalesChannelContext::createFrom($loadedSalesChannelEntity), but the SalesChannelContext generated this way is missing the generic Context and doesn’t contain a setter to add one.
What is the best way to add it there?

there is a sales channel context factory service

$salesChannelContext = $this->salesChannelContextFactory->create(
    Uuid::randomHex(),
    $bid->getSalesChannel()->getId(),
    [
        SalesChannelContextService::LANGUAGE_ID => $bid->getLanguage()->getId(),
        SalesChannelContextService::CUSTOMER_ID => $bid->getCustomer()->getId(),
        SalesChannelContextService::COUNTRY_ID => $bid->getCustomer()->getDefaultBillingAddress()->getCountry()->getId()
    ]
);


[/expand]




roles and permissions – ACL – https://slack.shopware.com/

roles and permissions – ACL – https://slack.shopware.com/


[expand title=“mehr lesen…“]

Hannes Wernery 13:40 Uhr
Hey! The ACL system is supposed to be upwards and downwards compatible https://hi.shopware.com/ACL
But as I see it, if I activate this feature and set up a role for a user, any models that are not listed in the role/permission management are not allowed. Meaning: entities that are not explicitly listed and activated in the management cannot be used by that user. This requires changes in our plugin.

code: „0“
detail: „Missing privilege my_custom_model:read“
meta: {,…}
status: „403“
title: „Forbidden“
This is not quite downwards compatible, is it? Or am I missing something?

[Meteor] Brent Robert10:55 UhrWe seem to be having an issue with a template of the B2B suite:This is default shopware:

{% block  page_checkout_confirm_address_billing_actions_link %}
<a href="{{ path('frontend.account.address.edit.page', {'addressId': billingAddress.id}) }}"
title="{{ "account.overviewChangeBilling"|trans|striptags }}"
class="btn btn-light"
data-address-editor="true"
data-address-editor-options='{{ addressEditorOptions|json_encode }}'>
{{ "account.overviewChangeBilling"|trans|sw_sanitize }}
</a>
{% endblock %}

This is B2B suite:

{% block  page_checkout_confirm_address_shipping_actions_link %}
{% if b2bSuite %}
<a
title="{{ "account.overviewChangeShipping"|trans|striptags }}"
class="btn btn-light ajax-panel-link {{ b2b_acl('b2bcontactaddress', 'list') }}"
data-target="address-select"
href="{{ path('frontend.b2b.b2baddressselect.index', {'type': 'shipping', 'selectedId': shippingAddress.id}) }}"
>
{{ "account.overviewChangeShipping"|trans|sw_sanitize }}
</a>
{% else %}
{{ parent() }}
{% endif %}
{% endblock %}

The B2B suite is losing the data-addresss-editor(-options) tags and breaking the layout?


[/expand]




shopware6-rule builder


[expand title=“mehr lesen…“]

Rule Builder

Über den in Shopware 6 enthaltenen Rule Builder kannst Du anhand von Bedingungen individuelle Regeln erstellen, die z.B. für die Berechnung von Versandkosten oder von kundenspezifischen Produktpreisen verwendet werden können.

Übersicht

Beim Aufruf des Menüpunkts Einstellungen > Shop > Rule Builder erhältst Du eine Übersicht über alle bereits angelegten Regeln. Die Übersicht ist in mehrere Spalten aufgeteilt, die Dir direkt die folgenden Informationen bieten:

  • Name (1) Enthält den für die Regel hinterlegten Namen. Dieser wird z.B. in der Administration für die Zuweisung der Regel in anderen Modulen verwendet
  • Beschreibung (2) Zeigt die (optionale) Beschreibung der Regel, die ggfs. mehr Informationen zum Anwendungsfall enthält.
  • Priorität (3) Die Priorität gibt an, ob eine Regel ggfs. vor einer anderen Regel angewandt wird. Je höher die Priorität, umso eher wird diese ausgeführt.
  • Erstelldatum (4) An diesem Datum wurde die Regel angelegt.
  • Status (4) Gibt an, ob die Regel Valide ist und verwendet werden kann. Über die Administration angelegte Regeln werden hierhingehend geprüft und können nur gespeichert werden, wenn alle Pflichtfelder mit validen Werten gefüllt sind.

Regel anlegen

Hier zeigen wir Dir, wie Du Regeln erstellst und welche Bedingungen und Operatoren Dir dafür zur Verfügung stehen.
Außerdem findest Du am Ende diverse Beispiele für gängige Szenarien, die Du als Grundlage für Deine eigenen Regeln verwenden kannst.

Eine Regel besteht aus mindestens einer Bedingung, kann aber auch mehrere Bedingungen enthalten die über eine UND / ODER – Verknüpfung verbunden werden. Außerdem besteht die Möglichkeit, eine Unterbedingung hinzuzufügen.
Beim Erstellen der Bedingung stehen dir je nach Bedingung diverse Operatoren zur Verfügung, um diese näher definieren zu können.
Um eine neue Regel anzulegen, klicke auf den Button Regel erstellen.
Anschließend öffnet sich die folgende Maske.

Allgemein

In den Allgemeinen Einstellungen der Regel definierst Du einen Namen und die Priorität der Regel.

Über die Priorität kannst Du bei mehreren existierenden Regeln definieren, welche Regel als erstes ausgeführt werden soll. Je höher der hinterlegte Wert im Vergleich zu den anderen Regeln, umso eher wird die Regel ausgeführt. (Eine Regel mit Priorität 5 wird vor einer Regel mit Priorität 3, aber nach einer Regel mit Priorität 9 ausgeführt)

Zusätzlich kannst Du einen Beschreibungstext hinterlegen, um z. B. zu erläutern, wofür diese Regel verwendet wird.
Diese Beschreibung wird nur in der Administration angezeigt und ist nicht im Frontend sichtbar.

Außerdem kannst Du den Typ der Regel festlegen um diese Regel nur in bestimmten Programmmodulen verfügbar zu machen, z.B. für die Versandkosten.

Operatoren

Die meisten Bedingungen werden über zusätzliche Operatoren näher definiert.

Die verfügbaren Operatoren variieren zwischen den einzelnen Bedingungen und nicht bei jeder Bedingung stehen alle Optionen zur Verfügung.

Im Folgenden erläutern wir Dir zunächst die Funktion der einzelnen Operatoren

  • Gleich
    Die Bedingung trifft zu, wenn der hinterlegte Wert der Eingabe gleicht
  • Ungleich
    Die Bedingung trifft zu, wenn der hinterlegte Wert von der Angabe abweicht
  • Ist eine von
    Die Bedingung trifft zu, wenn einer der hinterlegten Werte mit der Angabe übereinstimmt
  • Ist keine von
    Die Bedingung trifft zu, wenn keiner der hinterlegten Werte mit der Angabe übereinstimmt
  • Größer
    Die Bedingung ist erfüllt, wenn der entsprechende Wert größer als der hier definierte Wert ist.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der entsprechende Wert dem hier definierten Wert entspricht oder größer ist.
  • Kleiner
    Die Bedingung ist erfüllt, wenn der entsprechende Wert geringer als der hier definierte Wert ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der entsprechende Wert dem hier definierten Wert entspricht oder kleiner ist.

Bedingungen

Es stehen folgende Bedingungen zur Verfügung

Abweichende Adressen

Die Bedingung Abweichende Adressen bezieht sich auf eine von der Rechnungsadresse abweichende Lieferadresse, daher stehen als Optionen „Ja“ oder „Nein“ zur Verfügung.
Geprüft wird hier, ob der Kunde die Option „Lieferadresse weicht von der Rechnungsadresse ab“ aktiviert hat.

Beispiel:
Rechnungsadresse – Musterstraße 123, 12345 Musterstadt
Lieferadresse – Testweg 45, 45678 Testort

  • Ja
    Die Bedingung trifft zu, da die Rechnungs- und Lieferadresse abweichen
  • Nein
    Die Bedingung trifft nicht zu, da die Rechnungs- und Lieferadresse abweichen

Anzahl Bestellungen

Prüfe hierüber die Anzahl der bisherigen Bestellungen Deines Kunden

Beispiel: 5

  • Gleich
    Die Bedingung ist erfüllt, wenn der Kunde bisher 5 Bestellungen durchgeführt hat.
  • Größer
    Die Bedingung ist erfüllt, wenn der Kunde bisher mehr als 5 Bestellungen durchgeführt hat.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Kunde bisher 5 oder mehr Bestellungen durchgeführt hat.
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Kunde bisher weniger als 5 Bestellungen durchgeführt hat
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Kunde bisher 5 oder weniger Bestellungen durchgeführt hat.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Kunde bisher eine andere Anzahl als 5 Bestellungen durchgeführt hat.

Anzahl Warenkorb-Güter

Bei der Anzahl der Warenkorb-Güter kannst Du entweder einfach nur auf die Gesamtzahl der Produkte im Warenkorb prüfen, alternativ stehen Dir aber auch noch wesentlich umfangreichere Zusatzbedingungen zur Verfügung.

Für die Prüfung der Anzahl stehen Dir diverse Optionen zur Verfügung.

Beispiel: 10

  • Gleich
    Die Bedingung ist erfüllt, wenn 10 Warenkorb-Güter vorhanden sind.
  • Größer
    Die Bedingung ist erfüllt, wenn mehr als 10 Warenkorb-Güter vorhanden sind.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn 10 oder mehr Warenkorb-Güter vorhanden sind.
  • Kleiner
    Die Bedingung ist erfüllt, wenn weniger als 10 Warenkorb-Güter vorhanden sind.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn 10 oder weniger Warenkorb-Güter vorhanden sind.
  • Ungleich
    Die Bedingung ist erfüllt, wenn nicht 10 Warenkorb-Güter vorhanden sind.

Die optionalen Zusatzfilter öffnest Du über den Filter-Button (1) auf der rechten Seite. Es öffnet sich dann ein Modal für die Erstellung der untergeordneten Bedingungen.

Mögliche Unterbedingungen sind

  • Hersteller
  • Neuheiten
  • Position des Typs
  • Positionen
  • Positionen Einkaufspreis
  • Positionen Gesamtpreis
  • Positionen Preis
  • Positionen in Kategorie
  • Positionen mit Abverkauf
  • Positionen mit Anzahl
  • Positionen mit Breite
  • Positionen mit Eigenschaften
  • Positionen mit Erscheinungsdatum
  • Positionen mit Erstelldatum
  • Positionen mit Gewicht
  • Positionen mit Höhe
  • Positionen mit Länge
  • Positionen mit Steuersatz
  • Positionen mit Streichpreis
  • Positionen mit Tag
  • Hervorgehobene Positionen

Datumsbereich

Die Bedingung ist innerhalb des gesetzten Datumsbereichs gültig.
Es wird zwischen den Optionen „Mit Zeitabfrage“ und „Ohne Zeitabfrage“ unterschieden. Beispiel: 2019-05-23 (06:00) – 2019-05-31 (22:00)

  • Ohne Zeitabfrage: Hier wird lediglich ein Start- und ein Enddatum ausgewählt
    Die Bedingung ist vom 23.05.2019 bis einschließlich 31.05.2019 gültig
  • Mit Zeitabfrage: Zusätzlich zum Datum wird die Uhrzeit angegeben
    Die Bedingung ist vom 23.05.2019 06:00 Uhr bis einschließlich 31.05.2019 22:00 Uhr gültig

Firmenkunde

Hierüber kannst Du prüfen, ob es sich um einen Firmenkunden handelt.
Dazu stehen Dir die Optionen „Ja“ und „Nein“ zur Verfügung.

Beispiel:

  • Ja
    Die Bedingung ist erfüllt, wenn es sich um einen Firmenkunden handelt
  • Nein
    Die Bedingung ist erfüllt, wenn der Kunde kein Firmenkunde ist.

Hersteller

Ermöglicht die Prüfung auf die Hersteller-Angabe der Produkte.
Als Optionen stehen „Ist eine von“ und „ist keine von“ zur Verfügung. Diese beiden Optionen ermöglichen aus eine Mehrfachauswahl.

Beispiel: shopware AG
 

  • Ist eine von
    Die Bedingung ist erfüllt, wenn der Hersteller die shopware AG ist
  • Ist keine von
    Die Bedingung ist erfüllt, wenn der Hersteller nicht die shopware AG ist.

Immer zutreffend

Diese Bedingung trifft immer zu, eine tiefergehende Konfiguration ist hierfür nicht notwendig.
 

Kundengruppe

Wenn Du die Kundengruppe als Bedingung verwendest, kannst Du zwischen den beiden erweiterten Operatoren „Ist eine von“ und „Ist keine von“ wählen.

Beispiel: Nettopreis-Kundengruppe

  • Ist eine von
    Die Bedingung ist erfüllt, wenn der Kunden der Nettopreis-Kundengruppe zugewiesen ist.
  • Ist keine von
    Die Bedingung trifft zu, wenn der Kunde einer anderen Kundengruppe als Händler zugewiesen ist.

Kundennummer

Für eine genaue Einschränkung steht die Kundennummer zur Verfügung.
Hier wählst Du zwischen den Operatoren „Ist eine von“ oder „Ist keine von“.

Beispiel: 12345, 23456

  • Ist eine von
    Die Bedingung trifft zu, wenn es sich um einen der Kunden mit der Kundennummer 12345 oder 23456 handelt
  • Ist keine von
    Wenn der Kunde nicht eine der Kundennummern 12345 oder 23456, trifft diese Bedingung zu

Lieferadresse-PLZ

Für die PLZ der Lieferadresse kannst Du die Operatoren „Ist eine von“ und „Ist keine von“ verwenden.

Beispiel: 48612, 48624, 48683

  • Ist eine von
    Die Bedingung trifft zu, wenn die PLZ der Lieferadresse 48612, 48624 oder 48683 ist.
  • Ist keine von
    Die Bedingung trifft zu, wenn die PLZ der Lieferadresse nicht 48612, 48624 oder 48683 ist.

Lieferland

So, wie Du auf die Daten der Rechnungsanschrift prüfen kannst, stehen Dir auch die Informationen aus der Lieferanschrift zur Verfügung.
Beim Lieferland definierst Du die Bedingung über die Operatoren „Ist eine von“ oder „Ist keine von“.

Beispiel: Schweiz

  • Ist eine von
    Die Bedingung ist erfüllt, wenn als Lieferland Schweiz angegeben ist
  • Ist keine von
    Die Bedingung trifft zu, wenn ein anderes Lieferland als Schweiz gewählt wurde

Lieferstraße

Für die Bedingung Lieferstraße stehen Dir die Operatoren „Gleich“ oder „Ungleich“ zur Verfügung.

Beispiel: Ebbinghoff 10

  • Gleich
    Die Bedingung trifft zu, wenn als Lieferstraße Ebbinghoff 10 hinterlegt ist.
  • Ungleich
    Die Bedingung ist erfüllt wenn die Lieferstraße nicht Ebbinghoff 10 ist.

Nachname

Neben der Kundennummer kannst Du auch auf den Kunden-Nachnamen prüfen.
Dazu kannst Du einer der Optionen „Gleich“ oder „Ungleich“ verwenden.

Beispiel: Müller

  • Gleich
    Die Bedingung ist erfüllt, wenn ein Kunde mit dem Nachnamen Müller eingeloggt ist.
  • Ungleich
    Die Bedingung trifft zu, wenn ein Kunde, der nicht Müller heißt, eingeloggt ist.

Neuer Kunde

Du hast hierüber die Möglichkeit, als Bedingung auf Neukunden zu prüfen.

Hierzu stehen die Optionen „Ja“ und „Nein“ zur Verfügung und Du kannst somit z.B. eine Zahlungsart nur für Kunden freigeben, die bereits einmal in Deinem Shop bestellt haben.

Definition Neukunde:
Als Neukunde wird ein Kunde deklariert, bei dem das Datum des ersten Logins gleich dem heutigen Datum ist.

  • Ja
    Die Bedingung trifft zu, wenn es sich bei dem Kunden um einen Neukunden handelt
  • Nein
    Wenn der Kunde kein Neukunde ist, trifft diese Bedingung zu

Neuheiten

Über diese Bedingung kannst Du definieren, ob in der Regel eine Prüfung auf Produkt-Neuheiten erfolgen soll.
Als Operatoren stehen hierfür „Ja“ und „Nein“ zur Verfügung.

Damit ein Produkt als Neuheit gekennzeichnet wird, ist es erforderlich, dass das Erscheinungsdatum gepflegt ist und max. 30 Tage in der Vergangenheit liegt.

Beispiel:

  • Ja
    Die Bedingung ist erfüllt, wenn mindestens ein abgefragtes Produkt als Neuheit deklariert ist.
  • Nein
    Die Bedingung ist erfüllt, wenn kein Produkt aus der Abfrage als Neuheit gilt.

Position des Typs

Über den Typ eine Position kannst Du abfragen, ob ein Produkt oder ein Rabatt bzw. Aufschlag, z.B. im Warenkorb, vorhanden ist.
Als Operatoren kannst Du „Gleich“ und „Ungleich“ verwenden.

Beispiel: Rabatt / Aufschlag

  • Gleich
    Die Bedingung ist erfüllt, wenn mindest eine Postion vom Typ Rabatt oder Aufschlag vorhanden ist
  • Ungleich
    Die Bedingung ist erfüllt, wenn keine Postion Rabatt bzw. Aufschlag vorhanden ist

Positionen

Über die Positionen kannst Du bestimmte Produkte prüfen.
Hierzu stehen Dir die Operatoren „Ist eine von“ und „Ist keine von“ zur Verfügung. Eine Mehrfachauswahl von Produkten ist möglich.

Beispiel: Enormous Copper Cubicide

  • Ist eine von
    Die Bedingung trifft zu, wenn es sich um das Produkt „Enormous Copper Cubicide“ handelt
  • Ist keine von
    Die Bedingung ist erfüllt, wenn das Produkt „Enormous Copper Cubicide“ nicht in der Abfrage enthalten ist.

Positionen Einkaufspreis

Über diese Bedingung kannst Du den Einkaufspreis von Produkten abfragen. Der Einkaufspreis bezieht sich hier auf den Preis eines einzelnen Produkts. Eine Aufsummierung erfolgt nicht.
Für die Definition stehen Dir diverse Operatoren zur Verfügung.

Beispiel: 20,00

  • Gleich
    Die Bedingung ist erfüllt, wenn der Einkaufspreis genau 20,00 ist.
  • Größer
    Die Bedingung ist erfüllt, wenn der Einkaufspreis größer als 20,00 ist
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Einkaufspreis 20,00 oder mehr beträgt
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Einkaufspreis geringer als 20,00 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Einkaufspreis 20,00 oder weniger ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Einkaufspreis nicht 20,00 ist.

Positionen Gesamtpreis

Der Gesamtpreis der Positionen bezieht sich auf den Gesamtpreis einer Position im Warenkorb. Wenn Du also mehrmals das gleiche Produkt in den Warenkorb legst, wird der Preis in dieser Bedingung aufsummiert.

Beispiel: 50,00

  • Gleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis einer Position genau 50,00 ist.
  • Größer
    Die Bedingung ist erfüllt, wenn der Gesamtpreis einer Position größer als 50,00 ist
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis einer Position 50,00 oder mehr beträgt
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Gesamtpreis einer Position geringer als 50,00 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis einer Position 50,00 oder weniger ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis einer Position nicht 50,00 ist.

Positionen Preis

Der Preis der Positionen bezieht sich auf den Preis eines einzelnen Produkts. Für den Abgleich stehen Dir verschiedene Operatoren zur Verfügung.

Beispiel: 30,00

  • Gleich
    Die Bedingung ist erfüllt, wenn der Preis einer Position genau 30,00 ist.
  • Größer
    Die Bedingung ist erfüllt, wenn der Preis einer Position größer als 30,00 ist
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Preis einer Position 30,00 oder mehr beträgt
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Preis einer Position geringer als 30,00 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Preis einer Position 30,00 oder weniger ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Preis einer Position nicht 30,00 ist.

Positionen im Warenkorb

Hierüber kannst Du mittels der Operatoren Ist eine von und Ist keine von prüfen, ob ein bestimmtes Produkt im Warenkorb enthalten ist.

Beispiel: Synergistic Aluminum Mainstay

  • Ist eine von
    Die Bedingung ist erfüllt, wenn das Produkt „Synergistic Aluminum Mainstay“ im Warenkorb vorhanden ist.
  • Ist keine von
    Die Bedingung ist erfüllt, wenn das Produkt „Synergistic Aluminum Mainstay“ nicht im Warenkorb vorhanden ist.

Positionen in Kategorie

Mittels der Operatoren „Ist eine von“ und „Ist keine von“ kannst Du prüfen, ob ein Produkt einer bestimmten Kategorie zugewiesen ist. Die Struktur des Kategoriebaums wird hierbei berücksichtigt. Wenn Du hier also eine Oberkategorie auswählst, gelten die Bedingungen auch für die darunter befindlichen Kategorien.

Beispiel: Die Kategoriestruktur ist „Katalog #1 > Nahrung > Backwaren“. Das Produkt ist der Kategorie Backwaren zugeordnet. In der Bedingung prüfen wir auf die Kategorie Nahrung.

  • Ist eine von
    Die Bedingung ist erfüllt, da die Kategorie des Produkts im Kategoriebaum der Kategorie aus der Bedingung untergeordnet ist.
  • Ist keine von
    Die Bedingung ist nicht erfüllt, da eine Beziehung zu der Kategorie besteht.

Positionen mit Abverkauf

Hierüber kannst Du prüfen, ob ein Produkt als Abverkauf markiert ist. Dazu stehen Dir die Operatoren „Ja“ und „Nein“ zur Verfügung.

  • Ja
    Die Bedingung ist erfüllt, wenn einer der abgefragten Artikel als Abverkauf markiert ist.
  • Nein
    Die Bedingung ist erfüllt, wenn keiner der abgefragten Artikel als Abverkauf markiert ist.

Positionen mit Anzahl

Ermöglicht die Prüfung auf die Anzahl eines bestimmten Produkts im Warenkorb. Hierzu wählst Du zum einen das Produkt, das abgefragt werden soll. Zusätzlich legst Du dann einen Operator und die gewünschte Anzahl fest.

Beispiel: Produkt „Sleek Wool Wasabi Fresh“ mit der Anzahl 5

  • Gleich
    Die Bedingung ist erfüllt, wenn das Produkt „Sleek Wool Wasabi Fresh“ genau 5 mal im Warenkorb vorhanden ist.
  • Größer
    Die Bedingung ist erfüllt, wenn das Produkt „Sleek Wool Wasabi Fresh“ mehr als 5 mal im Warenkorb vorhanden ist.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn das Produkt „Sleek Wool Wasabi Fresh“ 5 mal oder mehr im Warenkorb vorhanden ist.
  • Kleiner
    Die Bedingung ist erfüllt, wenn das Produkt „Sleek Wool Wasabi Fresh“ weniger als 5 mal im Warenkorb vorhanden ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn das Produkt „Sleek Wool Wasabi Fresh“ 5 mal oder weniger im Warenkorb vorhanden ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn das Produkt „Sleek Wool Wasabi Fresh“ nicht 5 mal im Warenkorb vorhanden ist.

Positionen mit Breite

Für die Prüfung der Breite eines Produkts stehen Dir diverse Operatoren zur Verfügung. Beachte hierbei, dass sich die Breite immer auf ein einzelnes Produkt bezieht. Eine Aufsummierung erfolgt nicht.

Beispiel: 750

  • Gleich
    Die Bedingung ist erfüllt, wenn ein Produkt genau 750 breit ist.
  • Größer
    Die Bedingung ist erfüllt, wenn ein Produkt​​​​​​ mehr als 750 breit ist.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn ein Produkt 750 oder breiter ist.
  • Kleiner
    Die Bedingung ist erfüllt, wenn ein Produkt schmaler als 750 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn ein Produkt 750 oder schmaler ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn ein Produkt ​​​nicht 750 breit ist.

Positionen mit Eigenschaften

Mittels der Operatoren „Ist eine von“ und „Ist keine von“ kannst Du Prüfungen auf die Eigenschaften der Produkte durchführen.

Beispiel: XL

  • Ist eine von
    Die Bedingung ist erfüllt, wenn einem Produkt die Eigenschaft „XL“ zugewiesen ist.
  • Ist keine von
    Die Bedingung ist erfüllt, wenn keinem Produkt die Eigenschaft „XL“ zugewiesen ist.

Positionen mit Erscheinungsdatum

Ermöglicht die Abfrage des Erscheinungsdatums der Produkte.

Diese Bedingung steht aktuell noch nicht zur Verfügung und wird mit einem der kommenden Updates bereitgestellt.

Positionen mit Erstelldatum

Hierüber kannst Du auf das Erstelldatum prüfen. Das Erstelldatum bezieht sich auf den Zeitpunkt, an dem das Produkt im Shop angelegt wurde.

Diese Bedingung steht aktuell noch nicht zur Verfügung und wird mit einem der kommenden Updates bereitgestellt.

Positionen mit Gewicht

Für die Prüfung des Gewichts eines Produkts stehen Dir diverse Operatoren zur Verfügung. Beachte hierbei, dass sich das Gewicht immer auf ein einzelnes Produkt bezieht. Eine Aufsummierung erfolgt nicht.

Beispiel: 5

  • Gleich
    Die Bedingung ist erfüllt, wenn das Gewicht eines Produkts genau 5 beträgt.
  • Größer
    Die Bedingung ist erfüllt, wenn das Gewicht eines Produkts mehr als 5 beträgt.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn das Gewicht eines Produkts 5 oder mehr beträgt.
  • Kleiner
    Die Bedingung ist erfüllt, wenn das Gewicht eines Produkts weniger als 5 beträgt.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn das Gewicht eines Produkts 5 oder weniger beträgt.
  • Ungleich
    Die Bedingung ist erfüllt, wenn das Gewicht eines Produkts nicht 5 beträgt.

Positionen mit Höhe

Für die Prüfung der Höhe eines Produkts stehen Dir diverse Operatoren zur Verfügung. Beachte hierbei, dass sich die Höhe immer auf ein einzelnes Produkt bezieht. Eine Aufsummierung erfolgt nicht.

Beispiel: 350

  • Gleich
    Die Bedingung ist erfüllt, wenn ein Produkt genau 350 hoch ist.
  • Größer
    Die Bedingung ist erfüllt, wenn ein Produkt ​​​​​​mehr als 350 hoch ist.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn ein Produkt 350 oder höher ist.
  • Kleiner
    Die Bedingung ist erfüllt, wenn ein Produkt kleiner als 350 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn ein Produkt 350 oder kleiner ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn ein Produkt​​ nicht 350 breit ist.

Positionen mit Länge

Für die Prüfung der Länge eines Produkts stehen Dir diverse Operatoren zur Verfügung. Beachte hierbei, dass sich die Länge immer auf ein einzelnes Produkt bezieht. Eine Aufsummierung erfolgt nicht.

Beispiel: 475

  • Gleich
    Die Bedingung ist erfüllt, wenn ein Produkt genau 475 lang ist.
  • Größer
    Die Bedingung ist erfüllt, wenn ein Produkt ​​​​​​mehr als 475 lang ist.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn ein Produkt 475 oder länger ist.
  • Kleiner
    Die Bedingung ist erfüllt, wenn ein Produkt kürzer als 475 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn ein Produkt 475 oder kürzer ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn ein Produkt​​ nicht 475 lang ist.

Positionen mit Steuersatz

Die Prüfung der Steuersätze eines Produkts ist über die Operatoren „Ist eine von“ und „Ist keine von“ möglich. Es ist eine Mehrfachauswahl möglich. Hierzu kann aus einem Dropdown der im System angelegten Steuersätze gewählt werden.

  • Ist eine von
    Die Bedingung ist erfüllt, wenn einem Produkt einer der ausgewählten Steuersätze zugewiesen ist.
  • Ist keine von
    Die Bedingung ist erfüllt, wenn einem Produkt keiner der ausgewählten Steuersätze zugewiesen ist.

Positionen mit Streichpreis

Ermöglicht die Verwendung des Streichpreises eines Produkts als Bedingung.

Beispiel: 15

  • Gleich
    Die Bedingung ist erfüllt, wenn der Streichpreis eines Produkt​s​​​​​​ genau 15 beträgt.
  • Größer
    Die Bedingung ist erfüllt, wenn der Streichpreis eines Produkt​s​​​​​​ mehr als 15 beträgt.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Streichpreis eines Produkt​s​​​​​​ 15 oder mehr beträgt..
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Streichpreis eines Produkt​s​​​​​​ weniger als 15 beträgt..
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Streichpreis eines Produkt​s​​​​​​ 15 oder weniger beträgt.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Streichpreis eines Produkt​s​​​​​​ nicht 15 beträgt.

Positionen mit Tag

Hierüber kannst Du prüfen, ob einem Produkt eine bestimmte Kennzeichnung (engl. „Tag“) zugewiesen ist. Für die Konfiguration der Bedingung stehen die Operatoren „Ist eine von“ und „Ist keine von“ zur Verfügung. Die Tags werden in der Produktverwaltung hinzugefügt. Informationen hierzu erhältst Du hier.

Beispiel: Testtag1

  • Ist eine von
    Die Bedingung ist erfüllt, wenn einem Produkt der Tag „Testtag1“ zugewiesen ist
  • Ist keine von
    Die Bedingung ist erfüllt, wenn einem Produkt nicht der Tag „Testtag1“ zugewiesen ist

Positionsanzahl im Warenkorb

Ermöglicht die Prüfung, wie viele Positionen sich im Warenkorb befinden.
Auch dazu stehen Dir diverse Optionen zur Verfügung.

Beispiel: 10

  • Gleich
    Die Bedingung ist erfüllt, wenn 10 Positionen im Warenkorb vorhanden sind.
  • Größer
    Die Bedingung ist erfüllt, wenn mehr als 10 Positionen im Warenkorb vorhanden sind.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn 10 oder mehr Positionen im Warenkorb vorhanden sind
  • Kleiner
    Die Bedingung ist erfüllt, wenn weniger als 10 Positionen im Warenkorb vorhanden sind
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn 10 oder weniger Positionen im Warenkorb vorhanden sind
  • Ungleich
    Die Bedingung ist erfüllt, wenn nicht 10 Positionen im Warenkorb vorhanden sind.

Preis Warenkorbgüter

Beim Preis der Warenkorb-Güter werden nur die Preise der Produkte zusammengerechnet, es werden keine Rabatte, Gutscheine oder Versandkosten berücksichtigt.
Auch hier kannst Du aus einer Vielzahl an Operatoren wählen

Beispiel: 49,99

  • Gleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis der Warenkorb-Güter genau 49,99 beträgt.
  • Größer
    Die Bedingung ist erfüllt, wenn der Gesamtpreis der Warenkorb-Güter größer als 49,99 ist
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis der Warenkorb-Güter 49,99 oder mehr beträgt
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Gesamtpreis der Warenkorb-Güter geringer als 49,99 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis der Warenkorb-Güter 49,99 oder weniger ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Gesamtpreis der Warenkorb-Güter nicht 49,99 ist.

Rechnungsadresse-PLZ

Neben Rechnungsland und -straße kannst Du auch auf die Rechnungsadressen-PLZ prüfen.
Die Bedingung kann entweder als Einschluss (Ist eine von) oder Ausschluss (Ist keine von) konfiguriert werden.

Beispiel: 48612, 48624, 48683

  • Ist eine von
    Die Bedingung trifft zu, wenn die PLZ der Rechnungsadresse 48612, 48624 oder 48683 ist.
  • Ist keine von
    Die Bedingung trifft zu, wenn die PLZ der Rechnungsadresse nicht 48612, 48624 oder 48683 ist.

Rechnungsland

Als Bedingung kannst Du ebenfalls auf das Rechnungsland prüfen.
Auch hier definierst Du über „Ist eine von“ oder „Ist keine von“, ob die hinterlegten Länder bei Übereinstimmung gewertet werden oder wenn die Länder nicht zutreffen.

Beispiel: Schweiz, USA

  • Ist eine von
    Die Bedingung trifft zu, wenn als Rechnungsland Schweiz oder USA hinterlegt ist.
  • Ist keine von
    Die Bedingung ist erfüllt wenn das Rechnungsland nicht Schweiz oder USA ist.

Rechnungsstraße

Es ist auch möglich, die Rechnungsstraße als Bedingung zu verwenden.
Hier kannst Du zwischen den Operatoren „Gleich“ und „Ungleich“ wählen.

Beispiel: Ebbinghoff 10

  • Gleich
    Die Bedingung trifft zu, wenn als Rechnungsstraße Ebbinghoff 10 hinterlegt ist.
  • Ungleich
    Die Bedingung ist erfüllt wenn die Rechnungsstraße nicht Ebbinghoff 10 ist.

Tage seit letzter Bestellung

Ermöglicht Dir die Prüfung, wie viele Tage seit der letzten Bestellung des Kunden vergangen sind.

Beispiel: 10

  • Gleich
    Die Bedingung ist erfüllt, wenn seit der letzten Bestellung genau 10 Tage vergangen sind.
  • Größer
    Die Bedingung ist erfüllt, wenn seit der letzten Bestellung mehr als 10 Tage vergangen sind.
  • Größer gleich
    Die Bedingung ist erfüllt, wenn seit der letzten Bestellung 10 oder mehr Tage vergangen sind.
  • Kleiner
    Die Bedingung ist erfüllt, wenn seit der letzten Bestellung weniger als 10 Tage vergangen sind.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn seit der letzten Bestellung 10 oder weniger Tage vergangen sind.
  • Ungleich
    Die Bedingung ist erfüllt, wenn seit der letzten Bestellung nicht 10 Tage vergangen sind.

Hervorgehobene Positionen

Hierüber kannst Du prüfen, ob es sich bei einer Position um einen Hervorgehobene Position handelt. Um ein Produkt manuell als Hervorgehobene Position zu deklarieren, kannst Du in den Einstellungen des Produkts Produkt hervorheben aktivieren.
Als Operatoren kannst Du zwischen „Ja“ und „Nein“ wählen.

  • Ja
    Die Bedingung ist erfüllt, wenn ein Produkt Hervorgehobene Position ist
  • Nein
    Die Bedingung ist erfüllt, wenn kein Produkt Hervorgehobene Position ist

Verkaufskanal

Wähle hier aus den vorhandenen Verkaufskanälen Einen oder Mehrere aus.
Zusätzlich wählst Du zwischen den Operatoren „Ist eine von“ oder „Ist keine von“.

Beispiel: Hauptshop

  • Ist eine von
    Die Bedingung trifft nur zu, wenn der Einkauf über den Hauptshop erfolgt.
  • Ist keine von
    Die Bedingung trifft zu, wenn der Einkauf nicht über den Hauptshop erfolgt.

Versandart

Prüfe mittels dieser Bedingung, ob es sich um eine bestimmte Versandart handelt. Dazu wählst Du aus den Operatoren „Ist eine von“ und „Ist keine von“. Anschließend kannst Du aus einem Dropdown-Menü eine oder mehrere der vorhandenen Versandarten hinzufügen.

Dies kannst Du z.B. verwenden, um Versandarten nicht mit bestimmten Zahlungsarten zusammen anzubieten.

Beispiel: Express-Versand

  • Ist eine von
    Die Bedingung ist erfüllt, wenn der Express-Versand ausgewählt wird
  • Ist keine von
    Die Bedingung ist erfüllt, wenn nicht Express-Versand ausgewählt wird

Versandkostenfrei

Über die Operatoren „Ja“ und „Nein“ kannst Du prüfen, ob sich im Warenkorb aktuell Artikel befinden, die als versandkostenfrei markiert sind.

  • Ja
    Die Bedingung ist erfüllt, wenn sich versandkostenfreie Artikel im Warenkorb befinden
  • Nein
    Die Bedingung ist erfüllt, wenn sich keine versandkostenfreien Artikel im Warenkorb befinden

Währung

Wähle hier die Währung(en) aus, die für diese Bedingungen berücksichtigt werden sollen.
Es können die unter Einstellungen > Währungen definierten Währungen ausgewählt werden.
Als Operator wählst Du zwischen „Ist eine von“ oder „Ist keine von“.

Beispiel: Euro, Pfund

  • Ist eine von
    Die Bedingung ist gültig, wenn als Währung Euro oder Pfund verwendet werden.
  • Ist keine von
    Die Bedingung trifft zu, wenn als Währung nicht Euro oder Pfund ausgewählt ist.

Warenkorb Gewicht

Prüfung auf das Gewicht des gesamten Warenkorbs.

Beispiel: 2,0

  • Gleich
    Die Bedingung ist erfüllt, wenn das Warenkorb Gewicht genau 2,0 beträgt.
  • Größer
    Die Bedingung ist erfüllt, wenn das Warenkorb Gewicht größer als 2,0 ist
  • Größer gleich
    Die Bedingung ist erfüllt, wenn das Warenkorb Gewicht 2,0 oder mehr beträgt
  • Kleiner
    Die Bedingung ist erfüllt, wenn das Warenkorb Gewicht geringer als 2,0 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn das Warenkorb Gewicht 2,0 oder weniger ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn das Warenkorb Gewicht nicht 2,0 ist.

Warenkorbwert

Für die Prüfung auf den Warenkorbwert stehen umfangreiche Möglichkeiten zur Verfügung.
Bitte beachte hierbei, dass dieser Bedingung keine Währung zugewiesen wird.
Wenn du dies zusätzlich an eine Währung koppeln möchtest, kannst du hierzu eine weitere, über UND verknüpfte Bedingung für Währung hinzufügen.

Beispiel: 49,99

  • Gleich
    Die Bedingung ist erfüllt, wenn der Warenkorbwert genau 49,99 aufweist.
  • Größer
    Die Bedingung ist erfüllt, wenn der Warenkorbwert größer als 49,99 ist
  • Größer gleich
    Die Bedingung ist erfüllt, wenn der Warenkorbwert 49,99 oder mehr beträgt
  • Kleiner
    Die Bedingung ist erfüllt, wenn der Warenkorbwert geringer als 49,99 ist.
  • Kleiner gleich
    Die Bedingung ist erfüllt, wenn der Warenkorbwert 49,99 oder weniger ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der Warenkorbwert nicht 49,99 entspricht.

Wochentag

Hierüber kannst Du eine Prüfung auf einen Wochentag durchführen.
Eine genaue Definition ist über die Operatoren „Gleich“ und „Ungleich“ möglich

Beispiel: Donnerstag

  • Gleich
    Die Bedingung ist erfüllt, wenn der aktuelle Wochentag Donnerstag ist.
  • Ungleich
    Die Bedingung ist erfüllt, wenn der aktuelle Wochentag nicht Donnerstag ist.

Zahlungsart

Prüfe mittels dieser Bedingung, ob es sich um eine bestimmte Zahlungsart handelt. Dazu wählst Du aus den Operatoren „Ist eine von“ und „Ist keine von“. Anschließend kannst Du aus einem Dropdown-Menü eine oder mehrere der vorhandenen Zahlungsarten hinzufügen.

Dies kannst Du z.B. verwenden, um Zahlungsarten nicht mit bestimmten Versandarten zusammen anzubieten.

Beispiel: Rechnung

  • Ist eine von
    Die Bedingung ist erfüllt, wenn Rechnung als Zahlungsart ausgewählt wird
  • Ist keine von
    Die Bedingung ist erfüllt, wenn eine andere Zahlungsart als Rechnung ausgewählt wird

Zeitraum

Hierüber definierst du einen Zeitraum, in dem die Bedingung zutrifft. Beispiel: 06:00 – 22:00

  • Die Bedingung ist zwischen 06:00 Uhr und 22:00 Uhr gültig

Bedingungen verknüpfen

Innerhalb einer Regel kannst Du mehrere Bedingungen miteinander verknüpfen, dadurch ist es Dir möglich, auch sehr komplexe Szenarien abzubilden.
Bei einer Und-Verknüpfung müssen alle Bedingungen zutreffen, damit die Regel erfüllt ist.
Für die Erfüllung einer Oder-Verknüpfung muss nur eine der Bedingungen übereinstimmen. 
Außerdem hast Du die Möglichkeit, Unterbedingungen zu erstellen. Hierbei wird zunächst die Oberbedingung geprüft und wenn diese erfüllt ist, erfolgt die Prüfung der untergeordneten Bedingung(en).


[/expand]




roles and permissions – november 2020


[expand title=“mehr lesen…“]

 
Roles & Permissions is planned for NovemberPrepare your plugin now: 
 
In November we plan to release the highly demanded feature „Roles & Permissions“ (ACL). With this feature you will be able to assign rights and roles to users in the administration.
 
Prepare your plugins:
In order for store operators to be able to use the feature „Roles & Permissions“ to its full extent, you should prepare the rights in your plugins now.
 
What you have to do for that?
The feature „Roles & Permissions“ is already completely implemented on the master (GitHub) and can be tested by activating a feature flag. A detailed instruction on how to activate the feature flag can be found below in the mailing.
 
Important to know:
All customizations are upward and downward compatible. That means you can make the changes now and your plugin is still compatible in older Shopware 6 versions and of course in future versions.
 
Documentation 
Activate feature flagDevelopment Template 
 
If the Development Template is used, the feature flag can be activated as follows:
 
1.) The following code should be integrated in the .psh.yaml.override
 
Check out the Code on GitHub
 
 
2.) After that the cache should be cleared with the following command:
 
./psh.phar cache
 
 
Activate feature flagProduction Template and all other installation types 
 
For all other types of installation, proceed as follows:
 
1.) An environment variable should be created with the following values:
 
FEATURE_NEXT_3722=1
You can also use e.g. the .env file.
 
2.) The cache should be cleared with the following command:
 
bin/console cache:clear
 
1000 +GitHub Stars
 
800,000 +Downloads
 
2000 +Developers on Slack
 
 
 
 
shopware AG
Ebbinghoff 10
Schöppingen
 
 DE: +49 (0) 2555 928850
UK: +44 (0) 203 095 2445
World: 00 800 746 7626 0
info@shopware.com
 

Board: Stefan Hamann, Sebastian Hamann
Supervisory Board: Reinhold Wellers (Chairman), Christoph Hertz, Christoph Pliete
Register Court: Amtsgericht Coesfeld HRB 11471
 
Unsubscribe from the Developer Newsletter 
 


[/expand]




Shopware 6 Theme entwickeln – Livestream #4

Shopware 6 Theme entwickeln – Livestream #4


[expand title=“mehr lesen…“]


[/expand]




Shopware 6 Theme entwickeln – Livestream #3

Shopware 6 Theme entwickeln – Livestream #3


[expand title=“mehr lesen…“]


[/expand]