Aktualizace WP e-Commerce

Štítky: 

Zvolené téma obsahuje celkem 13 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  Marp a poslední změna je stará 6 let, 10 měsíců.

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

    Marp
    Participant

    Pozor, budete-li aktualizovat plugin WP e-Commerce na v. 3.8.9 je nutné přes FTP klienta přepsat soubory ve složce /wp-content/plugins/wp-e-commerce/wpsc-languages označené:

    1. wpsc-cs_CS.mo

    2. wpsc-cz_CS.po

    na

    1. wpsc-cs_CZ.mo

    2. wpsc-cs_CZ.po

    jinak vám nebude čeština fungovat.

    Dnes ráno jsem tento plugin aktualizoval a než jsem našel, kde je chyba, trvalo mi to hodinu ;)

    Každopádně je nutné samozřejmě spoustu výrazů dopřeložit.

    #13136

    admin
    Keymaster
    Web

    Zajímavé, kde mohla vzniknout chyba? Pokud se dobře pamatuju, tak to dříve fungovalo vcelku bez problémů… Každopádně díky za informaci, možná by stálo za to nahlásit chybu vývojářům…

    Ano, ve verzi 3.8.9 se měnilo mnoho řetězců, ale čeština patrně bohužel nebyla moc aktualizována…

    #13137

    Marp
    Participant

    Narazil jsem na velký problém a to u modulů pro dobírku. Jde o to, že každé zboží má dle rozměrů a váhy jiné poštovné, propočítané dle sazebníku České pošty. K pluginu e-Commerce mám přidaný plugin pro interní poštovní kalkulačku wpsc-simple-shipping, kde jsem nastavil položku dobírka s hodnotou 32,-Kč. při objednávce 1 ks zboží vše funguje, jak má. Ale pokud si zákazník objedná 3 různé druhy zboží, tak se poštovné vypočte správně dle nastavení u jednotlivých produktů, ale dobírka se mi připočte 3x!

    Potřebuji aby se mi dobírka připočítávala jen 1x za celý nákup!

    Jde o tento e-shop: http://www.linuxsoft.cz/linuxmarket

    #13139

    Lukenzi
    Participant

    řádek 166 v pluginu wpsc-simple-shipping.

    $shipping = $quantity * $additional_shipping;

    změnit na

    $shipping = $additional_shipping;

    ale to jen tak co mě napadlo, nezkoušel jsem.

    #13140

    Lukenzi
    Participant

    Taky mě napadlo, že plugin obsahuje bezpečnostní chybu (CSRF) kdy je teoreticky možné za určitých okolností změnit některé hodnoty v nastavení (třeba nastavit $additional_shipping na -3000, která se pak samozřejmě přičte ke skutečné ceně (třeba 500). Ve výsledku nakoupím né za 500, ale za -2500.

    Ale to jsem jen tak koukl do kódu, ještě si to ověřím…

    #13141

    Marp
    Participant

    Lukenzi: to tam právě nemám :-(

    Kód:

    if (is_numeric($product_id) && (get_option(‘do_not_use_shipping’) != 1)) {

    if ($uses_billing_address == true) {

    $country_code = $wpsc_cart->selected_country;

    } else {

    $country_code = $wpsc_cart->delivery_country;

    }

    if ($cart_item->uses_shipping == true) {

    //if the item has shipping

    $additional_shipping = ”;

    if (isset($cart_item->meta[0])) {

    $shipping_values = $cart_item->meta[0];

    }

    if (isset($shipping_values) && $country_code == get_option(‘base_country’)) {

    $additional_shipping = $shipping_values;

    } else {

    if (isset($shipping_values)) {

    $additional_shipping = $shipping_values;

    }

    }

    $shipping = $additional_shipping;

    } else {

    //if the item does not have shipping

    $shipping = 0;

    }

    } else {

    //if the item is invalid or all items do not have shipping

    $shipping = 0;

    }

    return $shipping;

    }

    #13142

    Lukenzi
    Participant

    Aha tak problém bude někde hlouběji… Pokud $shipping vrací už konečnou cenu (i s poštovným * počet kusů) tak bych zkusil zjistit zda $cart_item obsahuje i počet kusů (předpokládám, že ano z kódu to ale nelze poznat). Stačilo by se podívat na <?php var_dump($cart_item); ?>

    Pokud tam taková hodnota je, jednoduše bych doplnil kód tak aby se konečná cena upravila takhle:

    ((počet kusů * poštovné) – celková cena) + poštovné

    (zjistíme o kolik byla navýšena cena chybným vynásobením počtem kusů, tu odečteme od celkové ceny – tím se vrátíme na celkovou cenu bez poštovného a přičteme poštovné jenom jednou)

    To je teorie jakou bych postupoval, podle mě by to bylo rychlé a jednoduché řešení. Nemám, ale e-commerce s tímto pluginem nainstalovaný tak to nemůžu vyzkoušet.

    #13143

    Lukenzi
    Participant

    ok nedá mi to…

    return $shipping;

    změnit za

    return (($cart_item->quantity * $additional_shipping) - $shipping) + $additional_shipping;

    #13144

    Marp
    Participant

    Tak jsem to tam zkusil přepsat a zkusmo udělal objednávku 3 kusů a furt mi to počítá vše 3x i když dám poštovné + banku…

    Zkus se na to mrknout uvnitř – vytvořil jsem ti dočasně Administrátora na e-shopu, heslo ti přijde emailem. Jenom tě prosím, abys nijak vážně nezasahoval do ostatních věcí, zkus se na to mrknout, i na moduly, co jsou v administraci e-commerce a pak společně něco vykoumáme, OK?

    #13145

    Lukenzi
    Participant

    Pokoušel jsem se odpovědět na mejl, ale dostal jsem tuto hlášku: “Delivery to the following recipient failed permanently”. Ještě nějaký jiný kontakt? :)

    #13146

    Lukenzi
    Participant

    Hmm, tak né každá položka má nastavené stejné poštovné. Například hrnky mají 52kč a né 32. Když si objednám tričko a hrnek mám dvě rozdílné ceny poštovného. Muselo by se zjistit poštovné u každé konkrétní položky a … přičíst k ceně to největší?

    #13147

    Marp
    Participant

    No, hrnky, korbely, trička, mini PC se posílají jako balík a tam je nejnižší poštovné 52,-Kč, CD/DVD mají poštovné 18,-Kč – bublinková obálka a malé věci – samolepky, SD karty, flešky mají 14,-Kč, protože se vejdou do malé obálky. Nastavit jednotnou sazbu zatím nemůžu, dokud nebude nějaký obrat v e-shopu. A zase třeba posílat obálku se samolepkami za 30,-Kč je nesmysl, stejně tak tričko na dobírku, kde by se muselo doplácet třeba 30,-Kč.

    V podstatě, když se vše propočítá, tak by šlo udělat nějaký paušál a upozornit při objednávce, že se poštovné může lišit v obou směrech, ale to spíše zákazníky odradí…

    Viděl bych to tak, že když se objednávají 2 a více věcí v jednom nákupu, aby systém vzal jen to nejvyšší poštovné a podle výběru platby by jen připočítal dobírkovné a když by klient chtěl osobní odběr, tak by se poštovné vynulovalo.

    #13148

    Marp
    Participant

    Tak nevíte někdo, co, jak a kde přepsat, aby se poštovné zobrazovalo celkově a nikoliv za každou položku? Už jsem zkoušel dát jednotné poštovné, jakýsi paušál všem výrobkům a přesto se to sčítá za každou položku, což je nepřípustné :-(

    #13149

    Marp
    Participant

    Tak jsem to nakonec vyřešil šalamounsky – u zboží jsem odebral základní poštovné a v modulu jsem nastavil 3 typy plateb – Dobírka, Bankou a Osobně a je to ;)

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

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