- Migrate front\factory\ShopBasket → Domain\Basket\BasketCalculator (4 static methods, 18 callers updated) - Migrate front\controls\ShopBasket → front\Controllers\ShopBasketController (camelCase, instance methods) - Add snake_case→camelCase action dispatch for new controllers in Site::route() - Update title()/page_title() to check front\Controllers\ before fallback - Remove cms\Layout class (replaced by $layoutsRepo->find()) - Add 8 tests for BasketCalculator (484 tests, 1528 assertions) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.4 KiB
Instrukcja tworzenia aktualizacji shopPRO
Struktura aktualizacji
Aktualizacje znajdują się w folderze updates/0.XX/ gdzie XX oznacza dziesiątki wersji.
Pliki aktualizacji:
ver_X.XXX.zip- paczka ZIP ze zmienionymi plikami (BEZ folderu wersji, bezpośrednio struktura katalogów)ver_X.XXX_sql.txt- opcjonalny plik z zapytaniami SQL (jeśli wymagane zmiany w bazie)ver_X.XXX_files.txt- opcjonalny plik z listą plików do USUNIĘCIA przy aktualizacji (format:F: ../sciezka/do/pliku.php)changelog.php- historia zmianversions.php- konfiguracja wersji (zmienna$current_ver)
Zasada pakowania plików
- Do paczek aktualizacji nie dodajemy plików
*.md(dokumentacja jest tylko wewnętrzna/deweloperska). - Do paczek aktualizacji nie dodajemy
updates/changelog.php(to plik serwisowy po stronie repozytorium aktualizacji, nie runtime klienta). - Do paczek aktualizacji nie dodajemy głównego
.htaccessz katalogu projektu (ten plik wdrażamy osobno, poza ZIP aktualizacji).
Procedura tworzenia nowej aktualizacji
Status biezacej aktualizacji (ver. 0.288)
- Wersja udostepniona:
0.288(data: 2026-02-17). - Pliki publikacyjne:
updates/0.20/ver_0.288.zip,ver_0.288_files.txt
- Pliki metadanych aktualizacji:
updates/changelog.php(dodany wpisver. 0.288)updates/versions.php($current_ver = 288)
- Weryfikacja testow przed publikacja:
OK (484 tests, 1528 assertions)
1. Określ numer wersji
Sprawdź ostatnią wersję w updates/ i zwiększ o 1.
2. Utwórz folder tymczasowy ze strukturą w katalogu temp
mkdir -p temp/temp_XXX/sciezka/do/pliku
WAŻNE: W archiwum ZIP NIE powinno być folderu z nazwą wersji (np. ver_0.234/). Struktura ZIP powinna zaczynać się bezpośrednio od katalogów projektu (admin/, autoload/, itp.).
3. Skopiuj zmienione pliki do folderu tymczasowego
cp sciezka/do/pliku.php temp/temp_XXX/sciezka/do/pliku.php
4. Utwórz plik ZIP z zawartości folderu (nie z samego folderu!)
cd temp/temp_XXX
powershell -Command "Compress-Archive -Path '*' -DestinationPath '../ver_X.XXX.zip' -Force"
5. Usuń folder tymczasowy
rm -rf temp/temp_XXX
6. Zaktualizuj changelog.php
Dodaj wpis na początku pliku:
<b>ver. X.XXX - DD.MM.YYYY</b><br />
- NEW/FIX/UPDATE - opis zmiany
<hr>
Prefiksy:
NEW- nowa funkcjonalnośćFIX- naprawa błęduUPDATE- aktualizacja istniejącej funkcjonalności
7. Zaktualizuj versions.php
Zmień wartość $current_ver na nowy numer wersji (bez przedrostka 0.):
$current_ver = 234; // dla wersji 0.234
8. (Opcjonalnie) Utwórz plik SQL
Jeśli aktualizacja wymaga zmian w bazie danych, utwórz plik ver_X.XXX_sql.txt z zapytaniami SQL.
9. (Opcjonalnie) Utwórz plik z listą plików do usunięcia
Jeśli aktualizacja wymaga usunięcia przestarzałych plików, utwórz plik ver_X.XXX_files.txt:
F: ../sciezka/do/pliku1.php
F: ../sciezka/do/pliku2.php
UWAGA: Pliki wymienione w tym pliku zostaną USUNIĘTE z systemu podczas aktualizacji.
Przykład - aktualizacja 0.234
Zmienione pliki:
autoload/admin/controls/class.ShopOrder.phpadmin/templates/shop-order/order-details.php
Opis: Dodanie przycisku do zaznaczania zamówienia jako wysłane do trustmate.io
Komendy:
# Utwórz strukturę w folderze tymczasowym
mkdir -p temp/temp_234/autoload/admin/controls
mkdir -p temp/temp_234/admin/templates/shop-order
# Skopiuj pliki
cp autoload/admin/controls/class.ShopOrder.php temp/temp_234/autoload/admin/controls/
cp admin/templates/shop-order/order-details.php temp/temp_234/admin/templates/shop-order/
# Utwórz ZIP z ZAWARTOŚCI folderu (ważne: wejdź do folderu i spakuj '*')
cd temp/temp_234
powershell -Command "Compress-Archive -Path '*' -DestinationPath '../ver_0.234.zip' -Force"
# Wróć i usuń folder tymczasowy
cd ..
rm -rf temp_234
Poprawna struktura ZIP:
ver_0.234.zip
├── admin/
│ └── templates/
│ └── shop-order/
│ └── order-details.php
└── autoload/
└── admin/
└── controls/
└── class.ShopOrder.php
NIEPOPRAWNA struktura (do uniknięcia):
ver_0.234.zip
└── ver_0.234/ <-- tego folderu NIE powinno być!
├── admin/
└── autoload/