@@verze 4 @@conf+:eshop_conf.php // ******* Cross-selling ******** // Cross-selling v ajaxovém košíku $crossselling_ajax_enabled = false; // Povolit? $crossselling_ajax_selector = true; // True = defaultní CrossSellingTools::selectorStandard(), dle $crossselling_ajax_selector_standard. Jinak function, která dostane ID aktuálně přidané položky (nebo null) a vrací pole ID produktů k vypsání. $crossselling_ajax_selector_standard = array( // Pokud je $crossselling_ajax_selector == true, lze konfigurovat výběr produktů "count" => 3, // Počet "sort" => "cena", // Podle čeho seřadit? Viz Mercury->seraditProdukty "desc" => true, // Směr řazení má být desc (true) nebo asc (false)? "typ" => false, // Typy, pokud je doinstalované rozšíření doporučených produktů. False = všechny. Jinak int nebo array s požadovanými typy. "filter" => null, // Callback, kterým lze profiltrovat navržené produkty. Dostane ID produktu, pokud vrátí false, produkt se do crosssellingu nedostane. "onlyCurrentlyAdded" => false // Brát související všech produktů v košíku anebo jen toho naposledy přidaného? ); $crossselling_ajax_renderer = true; // True = defaultní, dle $crossselling_ajax_renderer_standard. Jinak function, která dostane pole ID produků k vypsání $idsArray, měla by vrátit prvek jako string nebo jako BaseGuiComponent $crossselling_ajax_renderer_standard = array( // Pokud je $crossselling_ajax_renderer_standard == true, lze konfigurovat vzhled crosssellingu "obrazek" => "maly", // Rozměr obrázku "kod" => "vnitrni_kod", // Zobrazit nějaký kód? False = ne. Zadej hodnotu z pole z mercury->get(), např. "kod" nebo "vnitrni_kod" "cena" => true, // Zobrazit cenovku? "heading" => true, // Text v záhlaví. True = výchozí text. False = nic. Jinak zadej řetězec. "note" => "", // Poznámka pod crosssellingem "buy" => false, // Nabídnout rovnou možnost nákupu? "buyCount" => false // Pokud je [buy] == true, nabídnout kromě tlačítka pdo nakoupení i políčko pro zadání počtu? ); // Cross-selling v košíku normálně na samostatné stránce $crossselling_page_enabled = false; // Povolit? $crossselling_page_selector = true; // Callback na vlastní selector, nebo true = defaultní, v podstatě totéž jako u ajaxového crosssellingu $crossselling_page_selector_standard = array( // Parametry stejné jako u $crossselling_ajax_selector_standard "count" => 3, "sort" => "cena", "desc" => true, "typ" => false, "filter" => null, "onlyCurrentlyAdded" => false ); $crossselling_page_renderer = true; // Funkce pro výpis každého produktu. Dostane array ID produktů a $crossselling_page_renderer_params níže zadané a měla by vrátit prvek s crosssellingem jako string nebo jako BaseGuiComponent $crossselling_page_renderer_params = null; // Nějaký parametr pro renderer // Pro Šablonový e-shop a cross-selling na samostatné stránce odkomentuj toto. // Ajaxový košík v šablonovém e-shopu žádné zvláštní přizpůsobení nepotřebuje. /* $crossselling_page_renderer = array("SEProductList", "createCrossSelling"); $crossselling_page_renderer_params = function(SEProductList $list) { // Sem můžeš udělat nějaké přizpůsobení ProductListu, přidávat vlaječky nebo nastavovat parametry // $list->setParam(...) $list->heading("Nezapomeňte dokoupit..."); $list[$list::DATA_CALLBACK] = function(SEProduct $prod) { $prod[] = $prod::FLAG_DISABLE_AJAX; }; }; */ @@reflection if (!isset($moduly["eshop"])) return "nelze"; eval(nactinastavenimodulu("eshop")); if (isset($crossselling_ajax_enabled) or isset($crossselling_page_enabled)) return "ano"; return "ne";