Przejdź do głównej zawartości

Folio

Folio drukuje to, co już jest w sklepie: kartę jednego produktu, katalog kategorii albo całego sklepu i cennik w tabeli. Każdy dokument otwiera się na osobnej stronie przygotowanej do druku, a polecenie Plik > Drukuj > Zapisz jako PDF w przeglądarce zamienia go w plik.

  • Karta produktu: jeden produkt na stronę. Zdjęcie, SKU, GTIN, cena, krótki opis, opis, atrybuty, kategorie, dostępność, wymiary i waga, każde pole do wyłączenia.
  • Katalog: wszystkie produkty kategorii albo całego sklepu. Na wydruku od jednej do czterech kolumn, na ekranie jedna.
  • Cennik: SKU, nazwa, GTIN, dostępność i cena w tabeli. Nagłówki kolumn powtarzają się na górze każdej wydrukowanej strony.

Silnik PDF na serwerze waży dziesiątki megabajtów, głównie czcionki, i przy dużym katalogu kończy mu się pamięć. Przeglądarka ma już dobry silnik: tekst da się zaznaczyć, każdy alfabet ma właściwą czcionkę, zdjęcia mają rozdzielczość drukarki i nic nie przekracza limitu czasu. Folio tworzy dokument, przeglądarka tworzy plik.

Przeglądarka nie zrobi pliku bez człowieka przy klawiaturze. Folio nie tworzy plików według harmonogramu, nie eksportuje w tle i nie dołącza kart do maili, i nie ma płatnej wersji, która to robi.

Ceny pochodzą z get_price_html() WooCommerce dla osoby, która otworzyła dokument. Cena promocyjna drukuje się z przekreśloną ceną regularną, obowiązuje ustawienie wyświetlania podatku, a wtyczki zmieniające ceny dla roli lub ilości są uwzględnione. Wtyczka trybu katalogu, która ukrywa ceny, ukrywa je również tutaj. Dokument jest wysyłany z nagłówkami no-cache, więc ceny jednego klienta nigdy nie trafią do następnego.

  • Link pod formularzem dodawania do koszyka na karcie produktu (woocommerce_after_add_to_cart_form).
  • Linki do katalogu i cennika pod listą produktów na stronach sklepu i kategorii (woocommerce_after_shop_loop). Na stronie kategorii drukują tę kategorię. Filtry atrybutów i ceny nie są przenoszone.
  • Akcja Drukuj na liście produktów w panelu.
  • Shortcode, w dowolnym miejscu: [folio_print mode="sheet" id="123" text="Drukuj"]. mode to sheet, catalog albo pricelist; na karcie produktu id można pominąć.

Oba linki na froncie korzystają z klasycznych hooków WooCommerce. Strona sklepu zbudowana z bloku Product Collection nie wywołuje woocommerce_after_shop_loop, więc tam wstaw shortcode. Każdy link wyłączysz w ustawieniach.

Jeden dokument mieści do 200 produktów. Powyżej dzieli się na części, “część 1 z 25” z linkiem do następnej, a każda część to osobne drukowanie. Ostatnia linia dokumentu mówi, ile zawiera produktów, więc odróżnisz dokument, który się skończył, od uciętego.

Każdy, kto widzi produkt, może go wydrukować. Produkt prywatny, chroniony hasłem lub ukryty w katalogu jest odrzucany, chyba że odwiedzający i tak może go zobaczyć.

WooCommerce > Folio:

  • gdzie pojawiają się linki;
  • które pola pokazuje każdy dokument;
  • liczba kolumn katalogu (od 1 do 4, na wydruku);
  • logo (ID z biblioteki mediów), nazwa sklepu, data wydruku i liczba produktów w nagłówku i stopce;
  • notka w stopce, na przykład termin ważności cen;
  • własne tytuły dokumentów i nagłówki kolumn. Puste pole używa przetłumaczonej wartości domyślnej.
Filtr Co zmienia
folio/can_print Czy produkt można wydrukować (bool $allowed, WC_Product $product).
folio/fields Listę pól do druku i ich etykiety.
folio/products/args Argumenty zapytania o produkty dla katalogu i cennika.
folio/batch_size Liczbę produktów w jednej części dokumentu (domyślnie 200).
folio/document Zbudowany dokument przed renderowaniem.

WordPress 6.5 lub nowszy, PHP 8.1 lub nowszy, aktywny WooCommerce.