Preskočiť na obsah

Cenové ponuky (RFQ)

Modul cenových ponúk (RFQ) nahrádza tlačidlo “Pridať do košíka” tlačidlom “Opýtať sa na cenu”. Zákazníci podávajú dopyty namiesto priameho nákupu. Užitočné v B2B obchodoch a pri produktoch s individuálnym ocenením.

Prejdite na WooCommerce > Nastavenia > Polski PRO > Cenové ponuky a zapnite modul.

NastavenieMožnosť v databázePredvolená hodnotaPopis
Zapnúť modulpolski_quoteNieAktivuje funkcionalitu cenových ponúk
Text tlačidlapolski_quote_button_text”Opýtať sa na cenu”Text zobrazený na tlačidle
Zobraziť v zoznamochpolski_quote_show_on_loopsNieZobrazuje tlačidlo dopytu na stránkach archívu a kategórií
Vyžadovať prihláseniepolski_quote_require_loginNieVyžaduje prihlásenie pred odoslaním dopytu
Súhlas so spracovanímpolski_quote_consentÁnoPridáva checkbox súhlasu GDPR do formulára

Formulár cenovej ponuky štandardne obsahuje:

  • Meno a priezvisko - povinné
  • E-mailová adresa - povinné, validácia formátu
  • Telefón - voliteľné
  • Množstvo - povinné, číselná validácia
  • Správa - voliteľné, textarea
  • Súhlas GDPR - checkbox, povinné ak zapnuté

Po zapnutí modul nahrádza tlačidlo “Pridať do košíka” tlačidlom dopytu. Týka sa:

  • Stránky jednotlivého produktu
  • Stránok archívu a kategórií (ak je možnosť polski_quote_show_on_loops zapnutá)
  • Widgetov a produktových shortcodov

Tlačidlo dopytu umiestnite na ľubovoľné miesto shortcodom:

[polski_quote_button product_id="123" text="Zapytaj o cenę" class="custom-class"]

Parametre:

ParameterPovinnýPopis
product_idNieID produktu (predvolene aktuálny produkt)
textNieText tlačidla
classNieDodatočné CSS triedy

Formulár sa odosiela cez AJAX, bez znovunačítania stránky. Zákazník vidí potvrdenie s číslom dopytu.

/**
* Filtruje dane zapytania ofertowego przed zapisem.
*
* @param array $quote_data Dane zapytania
* @param int $product_id ID produktu
* @param \WP_User $user Obiekt zalogowanego użytkownika lub pusty
*/
apply_filters('polski_pro/quote/before_save', array $quote_data, int $product_id, $user): array;

Príklad - pridanie vlastného poľa:

add_filter('polski_pro/quote/before_save', function (array $quote_data, int $product_id, $user): array {
$quote_data['meta']['company_nip'] = sanitize_text_field($_POST['company_nip'] ?? '');
return $quote_data;
}, 10, 3);

Každý dopyt ukladá údaje o udelených súhlasoch:

  • Časová pečiatka (timestamp) udelenia súhlasu
  • IP adresa zákazníka (hashovaná SHA-256)
  • Obsah súhlasu v momente udelenia
  • Verzia formulára

Údaje sa ukladajú do tabuľky {prefix}_polski_quote_consents a je možné ich exportovať na audit GDPR.

/**
* Akcja wywoływana po zapisaniu zgody.
*
* @param int $quote_id ID zapytania ofertowego
* @param array $consent Dane zgody
* @param string $ip_hash Zahashowany adres IP
*/
do_action('polski_pro/quote/consent_logged', int $quote_id, array $consent, string $ip_hash);

Prejdite na WooCommerce > Cenové ponuky. Zoznam obsahuje:

  • Číslo dopytu
  • Údaje zákazníka (meno, e-mail, telefón)
  • Produkt a množstvo
  • Stav (nové, prebieha, odpovedané, uzavreté)
  • Dátum podania
StavPopis
newNový dopyt, nespracovaný
in_progressPrebieha príprava ponuky
repliedPonuka odoslaná zákazníkovi
acceptedZákazník akceptoval ponuku
rejectedZákazník odmietol ponuku
closedDopyt uzavretý

Administrátor môže:

  1. Prezrieť detaily dopytu
  2. Pridať internú poznámku
  3. Nastaviť cenu ponuky
  4. Odoslať e-mailovú odpoveď zákazníkovi
  5. Premeniť dopyt na objednávku WooCommerce

E-mailové šablóny modulu:

E-mailPríjemcaSpúšťač
Nový dopyt cenovej ponukyAdministrátorPodanie dopytu zákazníkom
Potvrdenie dopytuZákazníkPodanie dopytu
Odpoveď na dopytZákazníkOdoslanie ponuky administrátorom
Zmena stavu dopytuZákazníkZmena stavu dopytu

E-mailové šablóny je možné prepísať v téme v adresári woocommerce/emails/:

  • polski-pro-quote-new.php
  • polski-pro-quote-confirmation.php
  • polski-pro-quote-reply.php
  • polski-pro-quote-status.php
/**
* Filtruje pola formularza zapytania ofertowego.
*
* @param array $fields Tablica pól formularza
* @param int $product_id ID produktu
*/
apply_filters('polski_pro/quote/form_fields', array $fields, int $product_id): array;

Príklad - pridanie poľa NIP:

add_filter('polski_pro/quote/form_fields', function (array $fields, int $product_id): array {
$fields['company_nip'] = [
'type' => 'text',
'label' => 'NIP firmy',
'required' => false,
'priority' => 35,
];
return $fields;
}, 10, 2);
/**
* Akcja wywoływana po zapisaniu zapytania ofertowego.
*
* @param int $quote_id ID zapytania
* @param array $quote_data Dane zapytania
*/
do_action('polski_pro/quote/submitted', int $quote_id, array $quote_data);

Príklad - odoslanie do CRM:

add_action('polski_pro/quote/submitted', function (int $quote_id, array $quote_data): void {
$crm_api = new MyCrmApi();
$crm_api->create_lead([
'name' => $quote_data['name'],
'email' => $quote_data['email'],
'product' => $quote_data['product_name'],
'qty' => $quote_data['quantity'],
]);
}, 10, 2);

Tlačidlo “Pridať do košíka” sa stále zobrazuje Skontrolujte, či je možnosť polski_quote zapnutá. Vyčistite cache cacheujúcich pluginov (WP Super Cache, W3 Total Cache, LiteSpeed Cache).

Formulár sa neodosiela (chyba AJAX) Skontrolujte konzolu prehliadača na chyby JavaScript. Uistite sa, že skript polski-pro-quote.js je načítaný. Konflikty s inými pluginmi môžu blokovať AJAX - vypnite ostatné pluginy na identifikáciu konfliktu.

E-maily sa neodosielajú Skontrolujte konfiguráciu e-mailu v WooCommerce > Nastavenia > E-maily. Uistite sa, že šablóny Polski PRO sú zapnuté.

Táto stránka má výlučne informačný charakter a nepredstavuje právne poradenstvo. Pred nasadením sa poraďte s právnikom. Polski for WooCommerce je open source softvér (GPLv2) poskytovaný bez záruky.