Sziasztok. Olyan prolémában kérném a segitsegeteket hogy van egy webshoppom amiben mar meg van a minimum rendelés határozva de en ugy szeretném átirni hogy ez ne minimum rendelés hanem rendelési egység legyen., tehát csak 20asaval vagy 30asaval lehessen rendelni.
Ez a kodreszlet ami szerintem eldonti ezt. Probalkoztam a %-os osztast megvalositani de sajnos a tudasom nem eleg hozza
//Minimum quantity code
if(MINIMUM_ORDERS == 'true'){
$min_order_query = tep_db_query("select p.minorder as min_quant FROM " . TABLE_PRODUCTS . " p where p.products_id = '".$products[$i]['id']."'");
while ($min_order = tep_db_fetch_array($min_order_query)) {
if ($products[$i]['quantity'] < $min_order['min_quant'] ) {
$products[$i]['min_quant']=$min_order['min_quant'];
}
}
if ($products[$i]['quantity'] < $products[$i]['min_quant'] ) {
$products[$i]['quantity']=$products[$i]['min_quant'];
$cart->add_cart($products[$i]['id'],$products[$i]['quantity'],$products[$i]['attributes']);
$cart_notice = sprintf(MINIMUM_ORDER_NOTICE, $products[$i]["name"], $products[$i]["min_quant"]);
}
}
//End Minimum quantity code
Remelem tud vki nekem segiteni. koszonom
- 1182 megtekintés
Hozzászólások
//Minimum quantity code
if(MINIMUM_ORDERS == 'true'){
$min_order_query = tep_db_query("select p.minorder as min_quant FROM " . TABLE_PRODUCTS . " p where p.products_id = '".$products[$i]['id']."'");
while ($min_order = tep_db_fetch_array($min_order_query)) {
$mennyiseg=ceil($products[$i]['quantity']/$min_order['min_quant']); // minimalis rendeles globalisan
$products[$i]['quantity']=$mennyiseg*$min_order['min_quant'];
if ($products[$i]['quantity'] < $min_order['min_quant'] ) {
$products[$i]['min_quant']=$min_order['min_quant']; // 0 esetere, ha a webaruhazban a 0 ertek nem a termek kosarbol valo eltavolitasat jelenti
}
}
$mennyiseg=ceil($products[$i]['quantity']/$products[$i]['min_quant']); // minimalis rendeles lokalisan (termek szinten)
$products[$i]['quantity']=$mennyiseg*$products[$i]['min_quant'];
if ($products[$i]['quantity'] < $products[$i]['min_quant'] ) {
$products[$i]['quantity']=$products[$i]['min_quant']; // 0 esetere
$cart->add_cart($products[$i]['id'],$products[$i]['quantity'],$products[$i]['attributes']);
$cart_notice = sprintf(MINIMUM_ORDER_NOTICE, $products[$i]["name"], $products[$i]["min_quant"]);
}
}
//End Minimum quantity code
- A hozzászóláshoz be kell jelentkezni
a hiba
Warning: Division by zero in /public_html/webshop/shopping_cart.php on line 156
ami erre sorra ertendo
$mennyiseg=ceil($products[$i]['quantity']/$products[$i]['min_quant']); // minimalis rendeles lokalisan (termek szinten)
Es mostmar a termek arat sem irja ki valamint nemhogy rendelesi egyseget hanem rendelesi minimumot sem hajlando elismerni.
Linux version 2.6.18-6-k7 (Debian etch2)
- A hozzászóláshoz be kell jelentkezni
probald igy... valoszinuleg nincs a termekre beallitva a darabszam, hogy hanyasaval rendelheto...
//Minimum quantity code
if(MINIMUM_ORDERS == 'true'){
$min_order_query = tep_db_query("select p.minorder as min_quant FROM " . TABLE_PRODUCTS . " p where p.products_id = '".$products[$i]['id']."'");
while ($min_order = tep_db_fetch_array($min_order_query)) {
if ($products[$i]['quantity'] < $min_order['min_quant'] ) {
$kert_mennyiseg=$products[$i]['quantity'];
$kulonbseg=$min_order['min_quant']-$kert_mennyiseg;
$products[$i]['quantity']+=$kulonbseg;
//$products[$i]['min_quant']=$min_order['min_quant'];
// nem kell, mert felulirhatja a termekspecifikus rendelheto darabszamot, helyette csak a minimum rendeleshez meg szukseges darabszamot adjuk hozza a rendelt mennyiseghez.
}
}
if($products[$i]['min_quant']<=0) $products[$i]['min_quant']=1;
$mennyiseg=ceil($products[$i]['quantity']/$products[$i]['min_quant']); // minimalis rendeles lokalisan (termek szinten)
$products[$i]['quantity']=$mennyiseg*$products[$i]['min_quant']; // kovetkezo egesz rendelesi egyseg, ha nem egesz mennyiseget adott volna meg
if ($products[$i]['quantity'] < $products[$i]['min_quant'] ) {
$products[$i]['quantity']=$products[$i]['min_quant']; // 0 esetere
$kulonbseg=$products[$i]['min_quant']-$products[$i]['quantity'];
// $cart->add_cart($products[$i]['id'],$products[$i] ['quantity'],$products[$i]['attributes']);
// vsz elegendo csak a rendelesi egyseghez hianyzo mennyiseget a kosarba helyezni, mert valahol mar add-olnia kellett egyszer...
$cart->add_cart($products[$i]['id'],$kulonbseg,$products[$i]['attributes']);
$cart_notice = sprintf(MINIMUM_ORDER_NOTICE, $products[$i]["name"], $products[$i]["min_quant"]);
}
}
//End Minimum quantity code
- A hozzászóláshoz be kell jelentkezni
Ok ezzel a koddal mar nem ir ki hibauzenetet. DE csak a minimalis egysegnyi rendeles mukodik ugy mint ez elott. Ha 10et adok meg minimumnak akkor ugyan tiznel kevesebbet nem enged vasarolni de ha 11, 14, vagy 37 termeket akarok rendelni azt engedi pedig ugy kellene hogy csak 10, 20, 30, 40
Linux version 2.6.18-6-k7 (Debian etch2)
- A hozzászóláshoz be kell jelentkezni
az adott termekre be van allitva a rendelheto egyseg nagysaga? (minimalis mennyisegkent hivatkozik ra vsz) szvsz nincs, emiatt volt a division by zero hiba is, es ezert enged ilyen mennyisegeket felvenni...
- A hozzászóláshoz be kell jelentkezni
Igen, be van allitva. Ha nem lenne akkor 1,2,3,4,5,6,7,8,9 et sem engedte volna. (10 et allitottam be)
Kuldjem pm-be a shopot es hozzafereseket? msn?
Linux version 2.6.18-6-k7 (Debian etch2)
- A hozzászóláshoz be kell jelentkezni
ha megjon a mail ranezek, ugyis elegem van mar mara a mestintbol
- A hozzászóláshoz be kell jelentkezni
A vegso megoldas, ha masnak is ilyen gondja lenne:
//Minimum quantity code
if (MINIMUM_ORDERS == 'true') {
$min_order_query = tep_db_query ( "select p.minorder as min_quant FROM " . TABLE_PRODUCTS . " p where p.products_id = '" . $products [$i] ['id'] . "'" );
while ( $min_order = tep_db_fetch_array ( $min_order_query ) ) {
$products[$i]['min_quant']=$min_order['min_quant'];
}
if ($products [$i] ['min_quant'] <= 0)
$products [$i] ['min_quant'] = 1;
$mennyiseg = ceil ( $products [$i] ['quantity'] / $products [$i] ['min_quant'] ); // rendelheto csomag merete
$kulonbseg = $mennyiseg*$products[$i]['min_quant'] - $products[$i]['quantity'];
if($kulonbseg>0)
{
$products [$i] ['quantity'] = $mennyiseg * $products [$i] ['min_quant']; // kovetkezo egesz rendelesi egyseg, ha nem egesz mennyiseget adott volna meg
$cart->add_cart ( $products [$i] ['id'], $products[$i]['quantity'], $products [$i] ['attributes'] );
$cart_notice = sprintf ( MINIMUM_ORDER_NOTICE, $products [$i] ["name"], $products [$i] ["min_quant"] );
}
}
//End Minimum quantity code
- A hozzászóláshoz be kell jelentkezni