Shopware mit Cloudflare – Vorsicht bei CSV Produktexporten !

Shopware mit Cloudflare zu betreiben ist eine einfache Möglichkeit ein CDN vor Shopware zu setzen. Schnell gemacht und mit, je nach grösse des Shops, eine ungemeiner Boost.

Allerdings vorsicht bei der Konfiguration des Cachings ! Bei Cloudflare stehen folgende 3 möglichkeiten zur Auswahl:

Wer nun auf die Idee kommt „Ignore Query String“ zu wählen, der bekommt eine bessere Cacheingrate aber das ganze hat seinen Preis:

CSV Produktexporte funktionieren nicht mehr


Warum ist das so ?

Nun die Erklärung steht im Screenshot : Diesselbe Ressource wird, unabhängig des Querystrings, an alle ausgeliefert.


Warum aber funktionieren dann nur die CSV Exporte nicht mehr ?

Das liegt daran das Cloudflare nicht alles statisch speichert. CSV gehört dazu, xml nicht. Weitere Typen die gecached werden: bmp, css, doc, docx,gif,jpg, jpeg, pdf, png, svp, tif, tiff, webp,xls, xlsx, …

Die vollständige Liste gibts hier: https://support.cloudflare.com/hc/en-us/articles/200172516-Which-file-extensions-does-CloudFlare-cache-for-static-content-


Lösung

Man stellt das Caching auf „Standard“.

Alternativ kann man das natürlich auch über die Pagerules erledigen, je nach Gusto.

SWAG DevBlog: Shopware REST API article GET – Nicht dokumentierte Features

Tja da sucht man eine Möglichkeit sich einfach eine Liste aller Artikel für weitere Verarbeitung in Php zu besorgen und wird in der REST API fündig.

Leider gibt es ein Problem wenn man in PHP per:

$client = new ApiClient(...);
$data = $client->get('articles');

einfach die Artikelliste holt. Nicht das es nicht funktioniert, aber es werden maximal 1000 Ergebnisse zurückgegeben. Das blöde ist : Am Anfang fällt das ja garnicht auf.

Zum Glück gibt es hier aber doch noch Zusatzparameter die leider in der Doku (https://developers.shopware.com/developers-guide/rest-api/examples/article/) nicht erläutert sind:

$client = new ApiClient(...);
$data = $client->get('articles?limit=8000');

So gibts dann sogar 8000 Artikel.

$client = new ApiClient(...);
$data = $client->get('articles??limit=1000&start=1000');

So gibts 1000 Artikel, beginnend ab dem 1000sten.

Wäre aber wirklich praktisch wenn diese generellen Parameter in der Doku stehen würden…

Shopware 4.0 – Backend/Frontend Plugin für zusätzliche Felder in Detail & Listing

Für einige Anwendungsfälle reichen leider die möglichkeiten der Freitextfelder in Shopware nicht mehr aus. Das kann schlicht an der mangelden Übersicht liegen, oder daran das es schlicht nur 20 Stück gibt und die bereits besetzt sind.

Hier bietet es sich an das Backend in den Artikeldetails entsprechend per Plugin zu erweitern. Das komplette Demo Plugin gibts unten bei den Links zum Download.

Zusatzfeld in den Stammdaten des Artikels, als einfaches Textfeld

Zusatzfeld in den Stammdaten des Artikels, als einfaches Textfeld

Die Anlage eines solchen Feldes ist eigentlich nicht schwer, einige Dinge müssen aber beachtet werden. weiterlesen