Jak hacknout Virtuemart, aby šlo vkládat do košíku množství s desetinnou čárkou

Máte eshop ve Virtuemartu, který potřebuje prodávat zboží, které se prodává v jednotkách, které nejsou jen celá čísla? Např. pokud Váš internetový obchod prodává koberce a zákazník může chtít zadat do košíku množství 14,6 m2, narazíte u Virtuemartu na problém - jakékoliv množství zadané s desetinnou čárkou vám odmítne vůbec vložit a pokud místo desetinné čárky použijete tečku, tak se sice tváří, že je to ok, ale v košíku pak číslo zaokrouhlí na celé číslo.

Našla jsem na fóru Virtuemartu hack, který toto umí překonat a v tomto článku se s Vámi o ono tajemství podělím.

1. Úprava pole product_quantity v tabulce jos_vm_order_item v databázi

Přihlašte se přes PhpMyAdmin do databáze a v tabulce jos_vm_order_item změnte typ pole product_quantity z int(11) na decimal(12,2).

2. Úprava souboru ps_cart.php

Upravte soubor administrator/components/com_virtuemart/classes/ps_cart.php takto:

A. $total_quantity = 0; změňte na
$total_quantity = 0.0;

B. $quantity = intval($quantity); změňte na
$quantity = round($quantity, 2);

C. } elseif( $total_quantity == 0 ) { změňte na
} elseif( round($total_quantity) == 0 ) {

D. if ($quantity == 0 && strtolower($func) == "cartupdate") { změňte na
if (round($quantity) == 0 && strtolower($func) == "cartupdate") {

E. if ($quantity == 0) { změňte na
if (round($quantity) == 0) {

Google

0 z 5 - 0 hlasů
Děkujeme za hodnocení. Pokud se vám článek líbil, budeme rádi, když jej budete sdílet dál!
Vytisknout