Přeskočit na obsah

Katalogový režim B2B

Katalogový režim mění obchod v katalog bez možnosti nákupu. Skryjte ceny, změňte tlačítka na zprávy nebo přesměrujte na poptávku. Určeno pro B2B obchody s individuálními cenami.

Přejděte na WooCommerce > Nastavení > Polski PRO > Katalogový režim a zapněte modul (možnost polski_catalog).

NastaveníMožnost v databáziVýchozí hodnotaPopis
Zapnout katalogový režimpolski_catalogNeAktivuje katalogový režim
Skrýt cenypolski_catalog_hide_pricesAnoOdstraní zobrazení cen
Skrýt tlačítko košíkupolski_catalog_hide_cartAnoOdstraní tlačítko “Přidat do košíku”
Náhradní text cenypolski_catalog_price_text”Zeptat se na cenu”Text zobrazený místo ceny
Zpráva na produktupolski_catalog_notice""Zpráva zobrazená na stránce produktu
Přesměrovat na RFQpolski_catalog_redirect_rfqNePřesměrování na formulář poptávky
Podmíněný režimpolski_catalog_conditionalallall, guests, roles

Katalogový režim může být aktivní:

  • Pro všechny (all) - každý vidí katalog bez cen
  • Pouze pro nepřihlášené (guests) - přihlášení zákazníci vidí ceny a mohou nakupovat
  • Pro vybrané role (roles) - katalog aktivní pouze pro vybrané role WordPress

Režim “Pouze pro nepřihlášené” je v B2B oblíbený - velkoobchod vyžaduje registraci před odhalením cen.

// Příklad: vlastní podmíněná logika
add_filter('polski_pro/catalog/is_active', function (bool $is_active): bool {
// Vypnout katalogový režim pro zákazníky s alespoň 5 objednávkami
if (is_user_logged_in()) {
$order_count = wc_get_customer_order_count(get_current_user_id());
if ($order_count >= 5) {
return false;
}
}
return $is_active;
});

Modul používá filtr woocommerce_get_price_html a nahrazuje cenu nakonfigurovaným textem.

/**
* Filtruje náhradní text ceny v katalogovém režimu.
*
* @param string $replacement Náhradní text
* @param \WC_Product $product Objekt produktu
*/
apply_filters('polski_pro/catalog/price_replacement', string $replacement, \WC_Product $product): string;

Příklad - různé texty pro kategorie:

add_filter('polski_pro/catalog/price_replacement', function (string $replacement, \WC_Product $product): string {
if (has_term('premium', 'product_cat', $product->get_id())) {
return '<span class="price-inquiry">Cena stanovena individuálně</span>';
}
return $replacement;
}, 10, 2);

Modul blokuje nákup filtrem woocommerce_is_purchasable:

/**
* Filtruje, zda je produkt dostupný k nákupu v katalogovém režimu.
*
* @param bool $purchasable Zda je produkt dostupný k nákupu
* @param \WC_Product $product Objekt produktu
*/
apply_filters('polski_pro/catalog/is_purchasable', bool $purchasable, \WC_Product $product): bool;

Příklad - povolení nákupu vybraných produktů:

add_filter('polski_pro/catalog/is_purchasable', function (bool $purchasable, \WC_Product $product): bool {
$always_purchasable = [101, 102, 103]; // ID vždy dostupných produktů
if (in_array($product->get_id(), $always_purchasable, true)) {
return true;
}
return $purchasable;
}, 10, 2);

Zpráva na stránce produktu

Sekce “Zpráva na stránce produktu”

Když je polski_catalog_notice nastaven, na stránce produktu se zobrazí zpráva o katalogovém režimu.

Příklad zprávy:

Chcete-li zjistit cenu tohoto produktu, kontaktujte náš obchodní tým nebo vyplňte formulář poptávky.

Integrace s modulem poptávek

Sekce “Integrace s modulem poptávek”

Když je polski_catalog_redirect_rfq zapnuto, tlačítko směřuje na formulář poptávky (modul RFQ):

  1. Tlačítko “Zeptat se na cenu” místo “Přidat do košíku”
  2. Automatické předání ID produktu do RFQ formuláře
  3. Předvyplnění názvu produktu ve formuláři
  4. Návrat k produktu po odeslání poptávky

Aby integrace fungovala, oba moduly - katalogový a RFQ - musí být aktivní.

Modul automaticky skrývá:

PrvekHook WooCommerceEfekt
Tlačítko “Přidat do košíku”woocommerce_is_purchasableProdukt označen jako nedostupný k nákupu
Cenawoocommerce_get_price_htmlHTML ceny nahrazeno textem
Ikona košíku v hlavičcepolski_pro/catalog/hide_cart_iconSkrývá ikonu mini-košíku
Stránka košíkutemplate_redirectPřesměrování z /cart/ na domovskou stránku
Stránka pokladnytemplate_redirectPřesměrování z /checkout/ na domovskou stránku

Každou možnost zapněte nebo vypněte nezávisle. Například:

  • Skryjte ceny, ale ponechte tlačítko košíku (zákazník nakupuje “za neznámou cenu” - kontakt po objednávce)
  • Skryjte tlačítko košíku, ale zobrazte ceny (zákazník vidí ceny, ale musí se zeptat na nákup)
  • Skryjte vše (plný katalogový režim)

Vylučování produktů a kategorií

Sekce “Vylučování produktů a kategorií”

Vylučte produkt z katalogového režimu: editace produktu > Polski PRO > Katalogový režim > zaškrtněte “Vyloučit z katalogového režimu”.

Vylučování kategorií

Sekce “Vylučování kategorií”
/**
* Filtruje kategorie vyloučené z katalogového režimu.
*
* @param array $excluded_categories Pole ID kategorií
*/
apply_filters('polski_pro/catalog/excluded_categories', array $excluded_categories): array;

Příklad:

add_filter('polski_pro/catalog/excluded_categories', function (array $excluded_categories): array {
$excluded_categories[] = 15; // "Příslušenství" - vždy dostupné k nákupu
$excluded_categories[] = 28; // "Outlet"
return $excluded_categories;
});

Modul přidává CSS třídy do <body> usnadňující stylování:

TřídaKdy se přidává
polski-catalog-modeKatalogový režim je aktivní
polski-catalog-prices-hiddenCeny jsou skryté
polski-catalog-cart-hiddenTlačítko košíku je skryté

Příklad CSS:

.polski-catalog-mode .price {
display: none; /* Dodatečné skrytí ceny, pokud šablona nerespektuje filtr */
}
.polski-catalog-mode .single_add_to_cart_button {
background-color: #0073aa;
content: "Zeptat se na cenu";
}

Ceny se stále zobrazují i přes zapnutí katalogového režimu Některé šablony používají vlastní metody zobrazení cen a obcházejí filtr woocommerce_get_price_html. Použijte CSS třídy .polski-catalog-prices-hidden .price { display: none; } jako pojistku.

Zákazník může přidat produkt do košíku přes přímou URL Modul to blokuje na úrovni filtru woocommerce_is_purchasable. Pokud se problém vyskytuje, zkontrolujte, zda jiný plugin nepřepisuje tento filtr s vyšší prioritou.

Podmíněný režim nefunguje správně s cache Cachovací pluginy mohou servírovat cachovanou verzi nezávisle na stavu přihlášení. Nakonfigurujte cache plugin tak, aby rozdělil cache pro přihlášené a nepřihlášené uživatele.

Tato stránka má pouze informativní charakter a nepředstavuje právní poradenství. Před nasazením se poraďte s právníkem. Polski for WooCommerce je open source software (GPLv2) poskytovaný bez záruky.