Přihlásit se

Košík - motivator k nákupu

15. lis 2018 22:28 - 15. lis 2018 22:31 #137722
Odpověď od Ernst
tak jsem se na vyžádání ještě podíval na ten kód do modulu košík:
Code:
<div class="motivator"> <?php if ($data->billTotal == 0) { ?> <span style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span> <?php } elseif ($data->billTotal < 5000) { ?> <span style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($data->billTotal)) ?>,-</span> <?php } else { ?> <span style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span> <?php } ?> </div>

kód je správně až na jedno ale:
$data->billTotal vrátí řetězec “Celkem 373,00 Kč”
To jistě chápeš, že nemůžeš porovnávat s numerickou hodnotou.
Takže pravdivě ti to vyhodnotí jen první podmínku, pokud je košík prázdný a řetězec je tudíž "" (prázdný)
Je tedy nutné ten řetězec převést na číslo, aby se to dalo porovnat. Je více možností jak to převést na číslo, ale problém by byl, pokud by tam byly oddělovače tisíců, to by se to dle formátu muselo ještě upravit. Jestli je oddělovač desetinných míst tečka nebo čárka je jedno.
Vidím dvě možnosti. Pokud chci opravdu vycházet z proměnné $data->billTotal:
Code:
$celkem=floatval(preg_replace(array("/[^0-9,.]/","/[.,]/"), array("","."), $data->billTotal))
nebo mohu použít proměnnou $data->billTotal_net. Tady ale neznám VM tak důkladně, abych mohl říct, že ty dvě proměnný vyjadřují vždy stejnou cenu.:
Code:
$celkem=floatval(str_replace(",",".",$data->billTotal_net))

takže celý kód bude vypadat například:
Code:
<div class="motivator"> <?php $celkem = floatval(preg_replace(array("/[^0-9,.]/","/[.,]/"), array("","."), $data->billTotal)) ?> <?php if ($celkem = 0) { ?> <span style="animation: blinker 2s linear infinite;">Při objednávce nad 5000,- je doprava zdarma!</span> <?php } elseif ($celkem < 5000) { ?> <span style="animation: blinker 2s linear infinite;">Chcete dopravu zdarma? Přidejte ještě zboží za: <?php echo (5000 - ($celkem)) ?>,-</span> <?php } else { ?> <span style="font-weight: 700; color: #109d16;">Vaše objednávka bude dopravena zdarma!</span> <?php } ?> </div>

16. lis 2018 00:16 #137726
Odpověď od Rudolf
Tož chlapi, celé to tak krásně píšete až je radost pohledět :)

ale zapomněli jste na to že změna ceny musí běžet ajaxem, jinak si to programujete jen pro programování a je to v reálném eshopu nepoužitelné.

Jak jsem psal, podíval bych se po modulu a komponentě Free Shipping info, která to má již vyřešené.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

16. lis 2018 00:29 #137727
Odpověď od Ernst
a proč by to mělo běžet ajaxem, když zobrazení ceny v modulu košíku ajaxem neběží a stránka se po přidání zboží do košíku vždy znova načte?
My přeci cenu neměníme, jen k ní zobrazujeme info :ohmy:

16. lis 2018 00:35 #137728
Odpověď od Rudolf
Eshop s reload stránky po přidání produktu do košíku?

Aha, tak pokud máte tuto verzi chování eshopu.

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

16. lis 2018 00:40 #137729
Odpověď od Ernst
Ano, je to pro VM

16. lis 2018 01:16 #137730
Odpověď od Rudolf
Rozumím, tak to bude asi nějaká starší verze, já už 3 roky používám tyto věci ajaxové

- od té doby co je pro VM k dispozici ajaxový košík a ajaxová komponenta Free shipping info
- od té doby co to má alza a zákazníci to chtějí taky

Jinak mi vyhrožují jinými systémy :D

MiniJoomla! - www.minijoomla.org - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Powered by Fórum