Generator Ofert PDF

Generator ofert produktowych w formacie PDF dla sklepu WooCommerce.

Support: [email protected]

Wymagania

Instalacja

  1. Sklonuj repozytorium: git clone https://[email protected]/globalmediacompl/winecorner-ofertownik.git

  2. Zainstaluj zależności:

composer install
  1. Upewnij się, że masz zainstalowane wymagane zależności:

  2. Skopiuj plik .env.example do .env i uzupełnij dane dostępowe:

cp .env.example .env

Przykładowa zawartość pliku .env:

WOOCOMMERCE_STORE_URL=http://localhost/twoj-sklep
WOOCOMMERCE_CONSUMER_KEY=ck_dev_key
WOOCOMMERCE_CONSUMER_SECRET=cs_dev_secret
OFERTOWNIK_OUTPUT_PATH=C:/sciezka/do/katalogu/ofertownik/

Na serwerze produkcyjnym w htaccess ustawić:

RewriteEngine On
RewriteBase /ofertownik/  #Folder gdzie jest index.php chyba że jest w folderze root
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

<Files .env>
    Order allow,deny
    Deny from all
</Files>

  1. Uruchom skrypt gen_offer.php w swoim środowisku PHP.

Logi

System automatycznie zapisuje logi każdego wygenerowanego dokumentu w folderze logs/. Logi są zapisywane w formacie JSON, w osobnych plikach dla każdego miesiąca (np. pdf_generation_2024-01.log).

Cashowanie json

Mechanizm działania

Proces pobierania danych

  1. Sprawdzenie cache:

  2. Jeśli cache nie istnieje:

Zarządzanie cache

Lokalizacja logów

Dobre praktyki

Zalecenia bezpieczeństwa:

  1. Nigdy nie commituj pliku .env do repozytorium - dodaj go do .gitignore
  2. Nie przechowuj wrażliwych danych w kodzie - zawsze używaj zmiennych środowiskowych
  3. Ogranicz dostęp do pliku .env - ustaw odpowiednie uprawnienia (np. 600)
  4. Regularnie rotuj klucze API - szczególnie klucze WooCommerce
  5. Twórz kopie zapasowe pliku .env - ale przechowuj je w bezpiecznym miejscu
  6. Używaj różnych kluczy dla środowisk produkcyjnych i testowych

Wymagane zmienne środowiskowe:

Narzędzia Email

Test połączenia SMTP

W projekcie dostępne jest narzędzie do testowania połączenia SMTP. Aby przeprowadzić test:

  1. Upewnij się, że plik .env zawiera poprawne dane SMTP:

    SMTP_HOST=smtp.twojserwer.pl
    SMTP_PORT=587
    [email protected]
    SMTP_PASSWORD=twoje_haslo
    SMTP_ENCRYPTION=tls
    
  2. Uruchom skrypt testowy (na serwerze produkcyjnym nie powinien być dostępny - tylko podczas instalacji i konfiguracji):

    php test-smtp.php
    

Skrypt wyśle testową wiadomość email i wyświetli szczegółowe informacje o procesie wysyłki.

Wysyłka maili

System wykorzystuje bibliotekę PHPMailer do obsługi wysyłki wiadomości email. Konfiguracja SMTP jest wczytywana z pliku .env.

Ważne uwagi:

Generowanie PDF z szablonów HTML

Zmiany w systemie szablonów

Wprowadziliśmy znaczące zmiany w systemie generowania dokumentów PDF, przenosząc kontrolę nad wyglądem do plików HTML:

Nowe podejście do szablonów

  1. Pełna kontrola w HTML - Cała struktura i wygląd dokumentu są teraz definiowane w plikach HTML, co umożliwia łatwą edycję bez modyfikacji kodu PHP.

  2. System warunkowego wyświetlania - Wprowadziliśmy prosty system tagów warunkowych:

  3. Szczegółowe zmienne - Zamiast generować całe bloki HTML w PHP, przekazujemy teraz pojedyncze wartości do szablonu:

Korzyści z nowego podejścia

Przykład użycia

Aby utworzyć nowy szablon dokumentu:

  1. Skopiuj istniejący plik HTML z katalogu templates/html_templates/
  2. Dostosuj wygląd i strukturę według potrzeb
  3. Użyj dostępnych zmiennych lub dodaj nowe w kodzie PHP

Wszystkie dostępne zmienne są dokumentowane w komentarzach kodu PHP.