Open vitschlesinger opened 7 years ago
@vitschlesinger: Ano, bohužel, tento způsob dopravy zatím nepodporuje shipping zones :-( #79
Nebo myslíte nějaké obecné nastavení, kde by bylo možné nastavit odstupňovanou cenu? Tedy nejen zdarma a za poplatek, ale rovnou třeba 3 různá pásma?
@pavelevap Ano, myslím aby se dala cena dopravy odstupňovat od určité ceny, příklad uvádím níže:
0-299 Kč cena objednávky = doprava od 50,- Kč 300 - 599 Kč cena objednávky = doprava 0,- Kč
Vpodstatě klasický systém, kde si můžu nastavit, od jaké ceny už je doprava zdarma. Bylo by to skvělá feature! Dejte mi vědět, zda-li i Vám dává smysl :)
My např. máme dopravu přes PPL a DPD a doprava od určité částky je zdarma, nicméně na DPD ParcelShop toto nastavení nelze aplikovat :(
@vitschlesinger: Ano, dává to smysl :-) Původně jsem myslel, že chcete něco jako klasický table rate shipping, tedy možnost nastavit třeba 5 různých cenových rozmezí, ale na to už jsou specializované pluginy, např. zde: https://wordpress.org/plugins/woocommerce-easy-table-rate-shipping/
Jak máte nastavenou dopravu zdarma pro PPL? Klasickou dopravní metodou "Doprava zdarma"? Pokud by šlo ale pouze o dopravu zdarma od určité ceny a možnost nastavit to pro všechny druhy dopravy, tak by to asi nemusel být problém, jen přemýšlím, jak to nejlépe udělat. Dokonce na to máme už jednu issue: #17. Myšlenka tam byla taková, že se využije doprava zdarma, kterou nabízí WooCommerce a pouze se doplní jedna z možností:
1) Buď udělat pro dopravu zdarma možnost výběru, pro kterou dopravní metodu se má aplikovat (výběr ze všech ostatních nastavených metod). Nevýhodou je, že je to samostatná dopravní metoda, takže když budou dvě různé podmínky (třeba různá pro DPD a PPL), tak se tam budou muset dát dvě různé dopravy.
2) Nebo doplnit ke všem ostatním dopravním metodám možnost nastavení podmínek pro dopravu zdarma (cena, od kdy bude doprava zdarma aplikována). Je to asi přehlednější situace, ale na druhou stranu pak úplně mizí možnost využití defaultní dopravy zdarma.
Dopravu mám ve WP řešenou přes plugin Woo Doprava (http://toret.cz/produkt/woo-doprava/) viz.: http://jmp.sh/hBJCS5n a potřeboval bych něco podobného právě i pro DPD ParcelShop se stejným nastavením. Myslíte, že je to možné? Díky mockrát! :)
I wanted to do something similar and managed to hack the plugin to achieve it.
File: ceske-sluzby-master/includes/class-ceske-sluzby-dpd-parcelshop.php Function: calculate_shipping
public function calculate_shipping( $package = array() ) {
$zeme = WC()->customer->get_shipping_country();
$total = WC()->cart->get_displayed_subtotal();
if ( $zeme == "CZ" ) {
if ( $total < 2000) {
$cena = $this->get_option( 'dpd_parcelshop_zakladni-cena' );
$label = $this->title;
}
else {
$cena = 0;
$label = $this->title . " zdarma";
}
}
if ( $zeme == "SK" ) { $cena = $this->get_option( 'dpd_parcelshop_zakladni-cena-slovensko' ); }
$rate = array(
'id' => $this->id,
'label' => $label,
'cost' => $cena
);
$this->add_rate( $rate );
}
I guess the cutoff value (I have 2000) should be defined in init_form_fields. Do you think it would be possible to roll this into the main code? Maybe there should be two cutoff values, one for CZ one for SK
To see my mod in action you can visit www.odomu.cz/obchod
(omlouvam se za anglictinu!)
Tak nakonec to bude celé trochu složitější, ale snad se to nějak podařilo realizovat. Pro každý způsob dopravy (a to i včetně dopravních zón) si můžete nově definovat vlastní cenové intervaly. Jak to funguje? Do příslušného políčka stačí vložit následující (formát je podobný jako u dodací doby):
100|99
500|49
1000|0
Nákup do hodnoty 100 Kč si bude brát nastavení ceny podle zvolené dopravy, nad 100 Kč se cena změní na 99 Kč, nad 500 Kč se automaticky změní na 49 Kč a nad 1000 Kč bude doprava zdarma. A použít to lze pro starší způsoby dopravy (tedy třeba DPD) i novější s využitím dopravních zón.
A dále přibylo ještě jedno nastavení, které umožní zadávat ceny dopravy s DPH. Standardně je možné zadávat cenu ve WooCommerce pouze bez DPH, takže musíte i intervaly zadávat bez DPH. S tímto nastavením se ale může vše zadávat i s DPH a nemusíte si to pak ručně dopočítávat (pozor ovlivní to všechny nastavené ceny dopravy). Inspirace pochází odtud: https://stackoverflow.com/questions/31335937/woocommerce-shipping-price-inclusive-tax
Co je potřeba ještě doladit?
woocommerce_shipping_method_add_rate_args
(asi v kombinaci s filtrem woocommerce_calc_shipping_tax
), kde nebude potřeba dopočítávat daně + bude možné rozlišit per_order
a per_item
shipping (ale zatím to necháme takto i pro starší verze).
Sekce DPD ParcelShop nepodporuje nastavení Dopravy zdarma od určité ceny.
Příklad: Objednávka do 299 Kč - Doprava DPD ParcelShop od 99,- Kč Objednávka od 300 Kč - Doprava DPD PracelShop 0,- Kč