Standardowo, pliki XML nie są cachowanie na serwerze. Są generowane dynamicznie (tak jak strona główna sklepu). Każde wygenerowanie XML powoduje pobranie produktów z bazy danych i wygenerowanie pliku XML.

Zapisanie pliku na serwerze jest niezbędne aby móc poprawnie wygenerować nagłowki Content-Length wymagane przez niektóre systemy.

Czasem istnije potrzeba wygenerowania pliku XML. Powodem mogą być np. specyficzne wymagania niektórych systemów.\ Lub też chęć odciążenia serwera.

W tym celu, plik XML można zapisać na dysku, jako plik *.xml. W tym celu można skorzystać z 2 metod.

Automatyczna

Od Price Wars II w wersji. v4.27.0 zalecamy użycie metody CLI zamiast HTTP. Metoda HTTP jest dodatkowo obarczona ograniczeniami związanymi z np. NGINX i Cloudflare.

Po HTTP

Proces ten można zautomatyzować przez dodanie zadania pobierani do zadań CRON na serwerze.

Przykładowe komendy CRON:
wget "http://adres.serwera/modules/pricewars2/service.php?id_xml=n" -O /sciezka/do/pliku.xml

W przypadku direct Admin może być to np.
wget "http://adres.serwera/modules/pricewars2/service.php?id_xml=n" -O /users/username/domains/serwer.pl/public_html/nazwa_pliku.xml

Można w tym celu także użyć komendy curl (po przykłady użycia odsyłam do google)

Po CLI (od v4.27.0)

Od wersji 4.27 możliwe jest generowanie plików za pomocą PHP CLI. Jest to zalecana metoda generowania, gdyż nie podlega ona dodatkowym limitom nałożonym przez serwery proxy (jak nginx i cloudflare).

Jeśli link do wywołania XML to np.
wget "http://adres.serwera/modules/pricewars2/service.php?id_xml=n" -O /sciezka/do/pliku.xml

Wtedy polecenie CRON będzie wyglądało następująco:
php /home/user/www/modules/pricewars2/service.php "id_xml=n" > /sciezka/do/pliku.xml

W przypadku, gdy chcemy wymusić generowanie XML dla konkretnego sklepu php /home/user/www/modules/pricewars2/service.php "id_xml=n&id_shop=1" > /sciezka/do/pliku.xml

Ścieżki zawarte w przykładzie są ścieżkami przykładowymi. Dla każdego użytkownika będą one inne.

Manualna

Polega na otworzeniu pliku w przeglądarce, a następnie zapisanie go przez “Plik > Zapisz jako…”. A następnie wgranie takiego pliku na serwer.