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 Freitextfelder – Dropdown/Auswahlfeld

Shopware verfügt über die Möglichkeit pro Artikel Benutzerdefinierte Daten zu speichern. In der Regel sind das normale Textfelder. Nötig ist hierfür nicht viel.

Unter „Einstellungen“->“Grundeinstellungen“ gibt es im Artikel die Verwaltung für Freitextfelder.

grundeinstellungen_freitextfelder

Hier finden sich die Felder attr1-attr20. Wer hier die Namen beibehält weiterlesen