Přihlásit se

Košík - motivator k nákupu

16. lis 2018 13:29 #137746
Odpověď od marvays
Už to počítá správně, je to blbne při prázdném košíku.
Soubor přílohy:

16. lis 2018 15:17 #137752
Odpověď od Ernst
Já už to předělal i pro ten ajax a některé chyby jsem při testu opravil.
Ještě to otestuji a pak zde uveřejním, asi večer

16. lis 2018 15:43 #137754
Odpověď od marvays

Ernst napsal: Já už to předělal i pro ten ajax a některé chyby jsem při testu opravil.
Ještě to otestuji a pak zde uveřejním, asi večer


To abych ti večer klepnul husu. Nebo raději králíka? :)

16. lis 2018 19:39 - 16. lis 2018 19:41 #137759
Odpověď od Ernst
tak takhle:
1. do přepisu modulu košíku v šabloně - /templates/xxxxxx/html/mod_virtuemart_cart/default.php si doplnit
Code:
<?php $celkem = floatval(preg_replace(array("/[^0-9,.]/","/[.,]/"), array("","."), $data->billTotal)); ?> <span class="motivator"> <?php if ($celkem <= 0.0001) { ?> <span class="zmenatextu" style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span> <?php } elseif ($celkem < 5000) { ?> <span class="zmenatextu" style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($celkem)) ?> Kč</span> <?php } else { ?> <span class="zmenatextu" style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span> <?php } ?> </span>
do míst, kde to chcete zobrazit, většinou za
Code:
<a class="total" data-toggle="dropdown" href="#"><span class="hidden-xs totalcart"><?php if ($data->totalProduct and $show_price and $currencyDisplay->_priceConfig['salesPrice'][0]) { ?> <?php echo $data->billTotal; ?> <?php } ?></span></a>

pak do /modules/mod_virtuemart_cart/assets/js/update_cart.js
dát místo
Code:
$(module).find(".show_cart").html( datas.cart_show); $(module).find(".total_products").html( datas.totalProductTxt); $(module).find(".total").html( datas.billTotal);
Code:
$(module).find(".show_cart").html( datas.cart_show); $(module).find(".total_products").html( datas.totalProductTxt); $(module).find(".total").html( datas.billTotal); var hodnota = datas.billTotal; var celkem = hodnota.replace(/[^0-9,.]/g,""); celkem = celkem.replace(/[,.]/g,"."); if (celkem.length=0) {celkem=0} else {parseFloat(celkem);} if (celkem <= 0.0001) { mujtext='Při objednávce nad 5000,- je doprava zdarma!';} else if (celkem < 5000) { mujtext= ('Chcete dopravu zdarma? Přidejte ještě zboží za: ' + (5000 - celkem) + ' Kč');} else { mujtext= ( 'Vaše objednávka bude dopravena zdarma!');} $(module).find(".zmenatextu").html(mujtext);
nevýhodou je, že změny v /modules/mod_virtuemart_cart/assets/js/update_cart.js se přepíšou při reinstalaci nebo upgrade. Proto pak musíte změnit ten kód znovu.
Možná někdo ví jak to udělat jinak, aby se ten js doplnil do /templates/xxxxxx/html/mod_virtuemart_cart/default.php, já bohužel ne, a uvítam každou radu, jestli to jde.

Také by se ještě měly ty texty "natvrdo" dát do jazykových proměnných.

16. lis 2018 20:04 #137760
Odpověď od marvays

Ernst napsal: tak takhle:
nevýhodou je, že změny v /modules/mod_virtuemart_cart/assets/js/update_cart.js se přepíšou při reinstalaci nebo upgrade.


No, já na VMko už několik let používám template od Flexiblewebdesign. Sice drahá záležitost, ale mi se líbí. Ti dělají aktualizaci jednou za půl roku a to jen když se vyskytně nějaký konflikt s novou verzí VM. Košík mají řešený vlastním modulem. Takže kod vložim do flexible_update_cart.js a můžu aktualizovat VMko jak chcu :)

Hned ráno to zkusím vložit na web a dám vědět.

16. lis 2018 21:06 - 16. lis 2018 21:08 #137761
Odpověď od Ernst
deju vědět, já to tedy testoval, ale kdyby něco.

na vlastním modulu a js šablony jsem to testovat nemohl, tak si to v nejhorším uprav

PS huse a králíkovi dej milost :lol:

Powered by Fórum