Woocommerce cena vůči množství

Úvodní stránka Fórum podpory WordPressu Pluginy (funkčnost webu) Woocommerce cena vůči množství

Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  Musilda a poslední změna je stará 5 let, 2 měsíce.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #23916

    romanholba
    Participant

    Mám produkt, který má různou cenu. Tato cena se skládá z:
    – cena výrobku
    – cena výroby
    – objednané množství

    Tzn. že pokud objednám 5 ks, vyjde mě třeba jeden kus na 100,-
    Když objednám 100 ks, vyjde mě jeden kus na 50,-

    Tzn. že cena není pevná, ale dynamicky se počítá právě podle zadaných kusů ke koupi.

    Existuje na to nějaký plugin?

    Co jsem našel, tak je jen http://codecanyon.net/item/uni-cpo-price-calculation-formulas-for-woocommerce/9333768
    Tento plugin umožní napsat matematický vzorec.
    Autor uvádí, že plugin pracuje na principu zjištění ceny. Tzn. že vložím pole pro množství, když do něj napíšu 100ks, tak mi vypočte cenu správně. Ale problém je, že musím znova počet kusů psát do dalšího pole, které je vedle tlačítka Přidat do košíku. Navíc je problém, že uživ. si nechá spočítat cenu za kus třeba z množství 100ks a pak do pole vedle tlačítka Přidat do košíku objedná 200ks, takže cena za kus už nebude odpovídat.
    Zde v reálu http://www.cebes.cz/produkt/s2587010/

    Nevím, jak to ošetřit, nemůžu najít žádný plugin.

    To, co chci, je, abych měl v detailu produktu cenu za kus a když vložím do pole počet kusů 100, tak aby mi to vyhodilo celkovou cenu a cenu za kus, která se bude v backendu počítat, podle vzorce.

    #23917

    romanholba
    Participant

    Programování nerozumím, ale napadla mě možnost, jestli by nešlo, že když zapisuji do prvního pole množství hodnotu, tak se mi automaticky píše i do druhého pole s počtem kusů k objednání.

    #23919

    Musilda
    Participant
    Web

    Cenu bych počítal na frontendu po mocí JS a AJAXu, u variant to snad ani jinak neuděláte.
    V backendu maximálně
    A následně bych pracoval s daty košíku a objednávky pomocí hooků:

    woocommerce_add_cart_item_data
    woocommerce_add_to_cart_sold_individually_quantity
    woocommerce_get_cart_item_from_session
    woocommerce_get_item_data
    woocommerce_add_order_item_meta
    woocommerce_add_cart_item
    woocommerce_cart_item_price

    Pokud totiž nějakým způsobem změníte cenu produktu, která bude jiná, než normálně vypočítána, tak musíte ovlivnit poměrně hodně akcí, které s tím pracují. Přidáním dat do košíku to nekončí, musíte ovlivnit i data v session, aby se nepřepočítala na původní hodnotu.

    #24079

    admin
    Keymaster
    Web

    @romanholba: Zmiňovaný plugin Uni CPO (Price Calculation Formulas for WooCommerce) vypadá dobře, ale je pravda, že to další políčko s množstvím je dost matoucí… Ale na odkazovaném webu už ten příklad nevidím? Nyní se mi zdá, že tam je pouze klasická možnost přidávání kusů do košíku?

    Každopádně druhé políčko pro volbu kusů by mělo jít poměrně snadno odstranit. U každého produktu (menu Produkty) je možnost jeho detailního nastavení, dole pod editorem v sekci “Údaje o produktu” – záložka Sklad – zaškrtněte “Prodáváno jednotlivě”. Pokud to chcete udělat u všech produktů najednou, tak na to existují jednoduché funkce, které využívají filtr woocommerce_is_sold_individually, případně můžete zkusit použít plugin Woo Remove Qty selectors.

    @musilda: Souhlas, bez Ajaxu to v rámci případného vlastního řešení nepůjde :-) Nemám WooCommerce moc nastudovanou, ale myslel jsem, že by stačilo pomocí Javascriptu modifikovat zobrazenou cenu u produktu a pokud se klikne na přidání do košíku, tak už se bude počítat pouze s touto cenou (tedy i v rámci session)? Nebo to tak myslím alespoň bylo u jednoho konkurenčního eshopového pluginu. K čemu by tam pak byly hooky na modifikování zobrazené ceny, např. woocommerce_get_price? Nějaký příklad jsem našel tady, ale nevím, zda už není zastaralý nebo mi chybí nějaké souvislosti…

    #24089

    romanholba
    Participant

    @admin Pole pro zadávání kusů k objednání to schová, ale pokud do pole, které přidává plugin UNI CPO, napíšu 100 ks, tak se cena přepočítá a hodí mi cenu za kus, ale po vložení do košíku vloží jen jako 1ks. Potřebuji, aby to hodilo 100ks.

    Protože se nevyznám v programování, bude lepší, když poptám upravení šablony nějakým odborníkům. Údajně by se měla šablona dát upravit a s konkrétním vzorcem a výpočtem ceny. Do backendu se přidá pole pro zápis dvou cen.

    #24098

    Musilda
    Participant
    Web

    Bohužel to nejde tak jednoduše. Pokud to jednou přidáš do košíku se změněnou cenou, tak se při napoprvé zobrazí správně, ale při refreshi se přepočítá cena dle hodnoty v databázi. Což nechceš. Mám to vyzkoušené na pluginu, který umožňoval nakupovat látku v různých šířkách. A abych to dal dohromady, musel jsem si načíst WooCommerce measurement pluign.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.