Generator ofert produktowych w formacie PDF dla sklepu WooCommerce.
Support: [email protected]
Sklonuj repozytorium: git clone https://[email protected]/globalmediacompl/winecorner-ofertownik.git
Zainstaluj zależności:
composer install
Upewnij się, że masz zainstalowane wymagane zależności:
php -v)php -m | grep curl)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>
gen_offer.php w swoim środowisku PHP.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).
data/product_ID.jsonSprawdzenie cache:
Jeśli cache nie istnieje:
data/logs/pdf_generation_YYYY-MM.log.env do repozytorium - dodaj go do .gitignore.env - ustaw odpowiednie uprawnienia (np. 600).env - ale przechowuj je w bezpiecznym miejscuWOOCOMMERCE_STORE_URL - URL do sklepu WooCommerceWOOCOMMERCE_CONSUMER_KEY - Klucz konsumenta API WooCommerceWOOCOMMERCE_CONSUMER_SECRET - Sekret konsumenta API WooCommerceOFERTOWNIK_OUTPUT_PATH - Ścieżka do katalogu z wygenerowanymi ofertami (z ukośnikiem na końcu)W projekcie dostępne jest narzędzie do testowania połączenia SMTP. Aby przeprowadzić test:
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
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.
System wykorzystuje bibliotekę PHPMailer do obsługi wysyłki wiadomości email. Konfiguracja SMTP jest wczytywana z pliku .env.
Ważne uwagi:
test-smtp.php) pomoże w diagnostycelogs/Wprowadziliśmy znaczące zmiany w systemie generowania dokumentów PDF, przenosząc kontrolę nad wyglądem do plików HTML:
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.
System warunkowego wyświetlania - Wprowadziliśmy prosty system tagów warunkowych:
{{#ZMIENNA}} i {{/ZMIENNA}} - Wyświetla zawartość tylko gdy zmienna istnieje/jest prawdziwa{{^ZMIENNA}} i {{/ZMIENNA}} - Wyświetla zawartość tylko gdy zmienna nie istnieje/jest fałszywaSzczegółowe zmienne - Zamiast generować całe bloki HTML w PHP, przekazujemy teraz pojedyncze wartości do szablonu:
{{CUSTOMER_COMPANY_NAME}}, {{CUSTOMER_FULLNAME}}, itd.{{PRODUCTS_ROWS}}, {{TOTAL_VALUE}}, {{DISCOUNT_AMOUNT}}, itd.Aby utworzyć nowy szablon dokumentu:
templates/html_templates/Wszystkie dostępne zmienne są dokumentowane w komentarzach kodu PHP.