Nastavení našeptávače adresy na pokladně ve WooCommerce

Autocomplete adresy může být velice užitečná funkce. Sice většinou každý známe svoji adresu, ale pokud si necháváme doručovat jinam nebo objednáváme dárek pro někoho, tak nám to může výrazně pomoci (zvláště u městských částí a PSČ). Při googlení samozřejmě na toto najdete nějaké pluginy, ty ale využívají Google Places API. Zkusil jsem hledat jestli by nešlo využít nějak našich Seznam map, které přeci jen adresní body v ČR zvládají lépe. Seznam nabízí mnoho příkladů a mezi nimi i našeptávač. S pomocí ukázkových kódů od seznamu a této diskuze se mi tak podařilo sestavit funkční kód, který našeptává ulice a po jejímž zadání včetně č.p. předvyplní město a PSČ. Na správném vyplnění PSČ mimo jiné závisí i zóny dopravy (pokud máme nastavené). Do fucntions.php ve své child theme napíšeme tento kód add_action('wp_head', 'lh_seznam_naseptavac_scripts'); function lh_seznam_naseptavac_scripts() { if (is_checkout()) { ?> <script type="text/javascript" src="https://api.mapy.cz/loader.js"></script> <script type="text/javascript">Loader.load(null, {suggest: true});</script> <?php } } add_action('wp_footer', 'lh_seznam_naseptavac'); function lh_seznam_naseptavac() { if (is_checkout()) { wp_enqueue_script( 'lh-seznam-naseptavac', get_stylesheet_directory_uri() . '/seznam.js', array('jquery') ); } } Kód nedělá nic jiného než, že načítá potřebné javascripty. Na úvod každé funkce je podmínka is_checkout(), která nám zajišťuje, že skripty načítáme pouze na stránce pokladny. Důležitý soubor je seznam.js, který vlastně obsahuje vše ohledně našeptávání a předvyplňování. Jak už jsem psal vycházel jsem z kódu Romana Makudery z diskuze, na kterou odkazuji výše. Tímto moc děkuji. Níže popis některých důležitých částí kódu let suggest = new SMap.Suggest(document.querySelector("#billing_address_1"), { factory: (data, pos) => new MyItem(data, pos), provider: new MyProvider() }); Tímto vytváříme objekt našeptávače, jehož vstupní pole je billing_address_1. Tedy pole v pokladně WooCommerce pro fakturační adresu. Později v kódu vytvářím ještě jeden našeptávač pro shipping_address_1 (tedy doručovací adresu) suggest.getProvider().updateParams(params => { params.type = "street|address"; params.category = "address_cz, area_cz"; }); Tato část nám zase říká, že chceme našeptávat pouze ulice a konkrétní adresy (type = street|address) v ČR (category = address_cz, area_cz). suggest.addListener("suggest", suggestData => { data = suggestData.data.origData; document.getElementById("billing_city").value = data.quarter; document.getElementById("billing_postcode").value = data.zipCode; jQuery('body').trigger('update_checkout'); }); V této části konečně doplníme město a psč dle našeho výběru v našeptávači. Obdobně pak pro shipping_city a shipping_postcode. Soubor seznam.js bude ve stejném adresáři jako functions.php. Nyní by mělo vše fungovat:)

projít na článek

Změna výchozího řazení produktů ve Woocommerce

Nedávno jsem řešil na eshopu změnu výchozího řazení produktů. Nově mělo být výchozí řazení dle ceny od nejnižší. Řazení se mění zde: Vzhled Přizpůsobit WooCommerce Katalog produktů. V mém případě jsem zvolil Seřadit dle ceny (vzestupně) a bylo hotovo?

projít na článek

Změna sídla firmy a fakturační adresy

Vážení obchodní partneři, rádi bychom vás upozornili na změnu naší fakturační adresy. Nová adresa je: ANCORA PRAHA, s.r.o. Květnového vítězství 2373/9 149 00 Praha 4 Chodov IČO: 48108073, DIČ: CZ 48108073 The post Změna sídla firmy a fakturační adresy fi

projít na článek

Provozní doba dispečinku vjezdů o svátcích 2019

Dispečink vjezdů má o vánočních svátcích upravenou provozní dobu takto:Karty je možno dobíjet na pokladnách. Na Hlavní pokladně bezkontaktně i kontaktně do 10.000 Kč, na Zadní pokladně zatím jen bezkontaktně do 500 Kč. The post Provozní doba dispečinku vj

projít na článek

Návod na nastavení emailu přes Seznam.cz

Tento návod je napsaný na míru pro zákazníky intersite.cz. Pokud nejste našimi zákazníky, některá nastavení se budou lišit. Pokud jste náš zákazník a přesto máte problém s nastavením, pak napište na [email protected] a můžeme nastavení provést za Vás.

projít na článek