Přeskočit na obsah

Poptavky (RFQ)

Modul poptavek (RFQ) meni tlacitko “Pridat do kosiku” na “Zeptejte se na cenu”. Zakaznici posilaji poptavky misto primych nakupu. Uzitecne v B2B obchodech a u produktu s individualni cenou.

Prejdete do WooCommerce > Nastaveni > Polski PRO > Poptavky a zapnete modul.

NastaveniMoznost v databaziVychozi hodnotaPopis
Zapnout modulpolski_quoteNeAktivuje funkcionalitu poptavek
Text tlacitkapolski_quote_button_text”Zapytaj o cenę”Text zobrazeny na tlacitku
Zobrazit na seznamechpolski_quote_show_on_loopsNeZobrazuje tlacitko poptavky na strankach archivu a kategorii
Vyzadovat prihlasenipolski_quote_require_loginNeVyzaduje prihlaseni pred odeslanim poptavky
Souhlas se zpracovanimpolski_quote_consentAnoPridava checkbox souhlasu GDPR do formulare

Formular poptavky obsahuje ve vychozim stavu:

  • Jmeno a prijmeni - povinne
  • E-mailova adresa - povinne, validace formatu
  • Telefon - volitelne
  • Mnozstvi - povinne, numericka validace
  • Zprava - volitelne, textarea
  • Souhlas GDPR - checkbox, povinne pokud zapnuto

Po zapnuti modulu je tlacitko “Pridat do kosiku” nahrazeno tlacitkem poptavky. Tyka se to:

  • Stranky jednotliveho produktu
  • Stranek archivu a kategorii (pokud je moznost polski_quote_show_on_loops zapnuta)
  • Widgetu a shortcodu produktu

Tlacitko poptavky lze umistit kamkoli pomoci shortcode:

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

Parametry:

ParametrPovinnyPopis
product_idNeID produktu (vychozi aktualni produkt)
textNeText tlacitka
classNeDoplnkove CSS tridy

Formular je odeslany asynchronne (AJAX), bez obnoveni stranky. Po odeslani zakaznik vidi potvrzujici zpravu s cislem poptavky.

/**
* 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;

Priklad - pridani vlastniho pole:

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);

Kazda poptavka uklada informaci o udelenych souhlasech:

  • Casove razitko (timestamp) udeleni souhlasu
  • IP adresa zakaznika (hashovana SHA-256)
  • Obsah souhlasu v okamziku udeleni
  • Verze formulare

Data jsou uchovavana v tabulce {prefix}_polski_quote_consents a mohou byt exportovana pro ucely auditu 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);

Poptavky jsou dostupne v menu WooCommerce > Poptavky. Seznam obsahuje:

  • Cislo poptavky
  • Udaje zakaznika (jmeno, e-mail, telefon)
  • Produkt a mnozstvi
  • Status (nova, v prubehu, odpovedeno, uzavrena)
  • Datum podani
StatusPopis
newNova poptavka, nezpracovana
in_progressProbiha priprava nabidky
repliedNabidka odeslana zakaznikovi
acceptedZakaznik prijal nabidku
rejectedZakaznik odmitl nabidku
closedPoptavka uzavrena

Z panelu administrator muze:

  1. Projit detaily poptavky
  2. Pridat interni poznamku
  3. Nastavit nabidkovou cenu
  4. Odeslat e-mailovou odpoved zakaznikovi
  5. Prevest poptavku na objednavku WooCommerce

Modul registruje nasledujici e-mailove sablony v WooCommerce:

E-mailPrijemceSpoustec
Nova poptavkaAdministratorPodani poptavky zakaznikem
Potvrzeni poptavkyZakaznikPodani poptavky
Odpoved na poptavkuZakaznikOdeslani nabidky administratorem
Zmena statusu poptavkyZakaznikZmena statusu poptavky

E-mailove sablony lze prepsat v motivu v adresari 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;

Priklad - pridani pole DIC:

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);

Priklad - odeslani 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);

Tlacitko “Pridat do kosiku” se stale zobrazuje Zkontrolujte, ze moznost polski_quote je zapnuta. Vycistete cache cachovacich pluginu (WP Super Cache, W3 Total Cache, LiteSpeed Cache).

Formular se neodesila (chyba AJAX) Zkontrolujte konzoli prohlizece na chyby JavaScriptu. Ujistete se, ze skript polski-pro-quote.js je nacten. Konflikty s jinymi pluginy mohou blokovat AJAX - vypnete ostatni pluginy pro identifikaci konfliktu.

E-maily se neodesilaji Zkontrolujte konfiguraci e-mailu v WooCommerce > Nastaveni > E-maily. Ujistete se, ze sablony Polski PRO jsou zapnute.

Tato stránka slouží pouze k informačním účelům a nepředstavuje právní poradenství. Před implementací se poraďte s právníkem. Polski for WooCommerce je open source software (GPLv2) poskytovaný bez záruky.