- Detta ämne har 16 svar, 5 deltagare, och uppdaterades senast för 12 år, 2 månader sedan av JohanK.
-
FörfattareInlägg
-
22 oktober, 2012 kl. 16:21 #99017JohanKDeltagare
Hej,,
Håller på att göra om vår kundvagn..
Jag sneglade på roligaprylar och tyckte den såg bra ut.
Dock har jag problem med det sista i php koden..
Dan har valt att lista 3 stycken produkter med namn och bild.
Lägger man den fjärde produkten i korgen så står det samt 1 annan produkt. Fiffigt..Men jag kan inte komma på hur jag ska räkna ut detta..
Så snälla Dan eller någon annan såklart hjälp
Så långt har jag kommit, det är bara funktionen som ska räkna ut hur många produkter det är i korgen förutom dem 3 som visas..
Många tack om det ramlar in något förslag.
Shopping cartcart_size();
$products = $cart->get_products();
if ($cart->count_contents() > 0) {for ($i=0, $n=sizeof($products); $i<$n; $i++) { $j = count($products); if ($i == 3) { break;} ?>
’.tep_image(DIR_WS_IMAGES . $products[$i][’image’], $products[$i][’name’], 16, 16, false, 5).’
’.$products[$i][’quantity’]. ’ x ’. substr($products[$i][’name’], 0, 35),’’;
} else {
echo ’’.tep_image(DIR_WS_IMAGES . $products[$i][’image’], $products[$i][’name’], 16, 16, false, 5).’’.$products[$i][’quantity’]. ’ x ’. substr($products[$i][’name’], 0, 35),’’;
}
if ((tep_session_is_registered(’new_products_id_in_cart’)) && ($new_products_id_in_cart == $products[$i][’id’])) {
tep_session_unregister(’new_products_id_in_cart’);
}
?>cart_size() > 3) {?> [/CODE][CODE]
Shopping cartcart_size();
$products = $cart->get_products();
if ($cart->count_contents() > 0) {for ($i=0, $n=sizeof($products); $i<$n; $i++) {
$j = count($products);
if ($i == 3) { break;}
?>echo ’
’.tep_image(DIR_WS_IMAGES . $products[$i], $products[$i], 16, 16, false, 5).’’.$products[$i]. ’ x ’. substr($products[$i], 0, 35),’’;
} else {
echo ’’.tep_image(DIR_WS_IMAGES . $products[$i], $products[$i], 16, 16, false, 5).’’.$products[$i]. ’ x ’. substr($products[$i], 0, 35),’’;
}
if ((tep_session_is_registered(’new_products_id_in_cart’)) && ($new_products_id_in_cart == $products[$i])) {
tep_session_unregister(’new_products_id_in_cart’);
}
?> }}
else
{
echo ’your cart is empty’;
}
?>cart_size() > 3) {?> [/CODE]
22 oktober, 2012 kl. 17:15 #154289DanDeltagare$visamax=3;
$totaltikundvagn=mysql_num_rows($blabla);
if($totaltikundvagn>$visamax)
echo ”samt ”,$totaltikundvagn-$visamax,” annan produkt”;22 oktober, 2012 kl. 17:23 #154291JohanKDeltagare@Dan 54417 wrote:
$visamax=3;
$totaltikundvagn=mysql_num_rows($blabla);
if($totaltikundvagn>$visamax)
echo ”samt ”,$totaltikundvagn-$visamax,” annan produkt”;Okej du sparar allt i databasen?
Det gör inte vi, antar att det blir svårt då?
Missa du inte nåt nu, om man har två av samma produkt tex?
Tack för du tar dig tid.
22 oktober, 2012 kl. 17:40 #154293DanDeltagareJapp, men sak samma om det ligger i en session. Kör count() på arrayn bara. Jag gillar inte att lagra det i en session. Du kan inte analysera saker på samma sätt då du inte ser köpbeteende om de inte lägger order.
Jag grupperar i mysql på product_id men jag låter iofs aldrig någon ha samma produkt i separata rader, då ökar jag antalet på raden istället.
22 oktober, 2012 kl. 18:47 #154296JohanKDeltagareHua, det där kommer jag aldrig kunna lösa
Får bli snålvarianten med Du har 6 varor i korgen..
22 oktober, 2012 kl. 18:53 #154297LubicDeltagareHar inte tittat så noga, men innehåller inte variabeln $cart->cart_size() antalet produkter i kundvagnen? I så fall borde det väl räcka med $cart->cart_size()-3 för att räkna ut antalet minus de tre som visas? Eller har jag helt missuppfattat saken?
22 oktober, 2012 kl. 19:01 #154298JohanKDeltagareCart size är unika produkt id, så om du lägger två stycken av samma produkt i korgen kommer vart size räkna att det finns 1 produkt.
$products är totala artiklar, men det blir ju inte rätt eftersom om man lägger i 2 av samma på tre produkter så har man 6 artiklar, lägger man i en till blir det sju, och tar man sju minus tre så kommer det stå att man har fyra andra produkter i korgen fast man bara har en, svårt att förklara..
22 oktober, 2012 kl. 19:06 #154299Christoffer TyreforsDeltagareom det bara är sista raden så kan du ju använda $j som du sätter i början (utan att använda den sen?) som typ
echo ”and” . $j-3 .” other products”;Måste fråga om det där är originalkod från Opencart?
edit: såg ditt svar.
Lägg 6 produkter i korgen och kör print_r($products); och print_r($cart->cart_size); så kan vi säkert hjälpa dig.
22 oktober, 2012 kl. 19:17 #154302JohanKDeltagare@Christoffer Tyrefors 54428 wrote:
om det bara är sista raden så kan du ju använda $j som du sätter i början (utan att använda den sen?) som typ
echo ”and” . $j-3 .” other products”;Måste fråga om det där är originalkod från Opencart?
edit: såg ditt svar.
Lägg 6 produkter i korgen och kör print_r($products); och print_r($cart->cart_size); så kan vi säkert hjälpa dig.
Det är oscommerce kod,
print_r $products med 6 produkter i korgen
Array ( [0] => Array ( [id] => 6221 [name] => Vattenpump Volvo 240 1985-1993 [model] => 26431975 [image] => 42_26431975.jpg [price] => 279.2000 [cost] => [quantity] => 1 [weight] => 4.00 [final_price] => 279.2 [tax_class_id] => 1 [attributes] => )
[1] => Array ( [id] => 6220 [name] => Vattenpump Volvo 240 1974-1984 [model] => 26430681 [image] => 20_26430681.jpg [price] => 287.2000 [cost] => [quantity] => 1 [weight] => 3.00 [final_price] => 287.2 [tax_class_id] => 1 [attributes] => )
[2] => Array ( [id] => 6219 [name] => Packningssats till vattenpump Volvo 240 [model] => 26430667 [image] => 15_26430667.jpg [price] => 47.2000 [cost] => [quantity] => 1 [weight] => 0.20 [final_price] => 47.2 [tax_class_id] => 1 [attributes] => )
[3] => Array ( [id] => 6218 [name] => Termostat 87 grader Volvo 240 1974-1993 [model] => 26433459 [image] => 15_26433459.jpg [price] => 103.2000 [cost] => [quantity] => 1 [weight] => 0.50 [final_price] => 103.2 [tax_class_id] => 1 [attributes] => )
[4] => Array ( [id] => 6217 [name] => Kylarslang Kylare till vattenpump [model] => 87430616 [image] => 03_87430616.jpg [price] => 119.2000 [cost] => [quantity] => 1 [weight] => 2.00 [final_price] => 119.2 [tax_class_id] => 1 [attributes] => )
[5] => Array ( [id] => 6216 [name] => Kylare till motor Volvo 240 [model] => 87431126 [image] => 27_87431127.jpg [price] => 1039.2000 [cost] => [quantity] => 1 [weight] => 5.00 [final_price] => 1039.2 [tax_class_id] => 1 [attributes] =>[/CODE][CODE]Array ( [0] => Array ( [id] => 6221 [name] => Vattenpump Volvo 240 1985-1993 [model] => 26431975 [image] => 42_26431975.jpg [price] => 279.2000 [cost] => [quantity] => 1 [weight] => 4.00 [final_price] => 279.2 [tax_class_id] => 1 [attributes] => )
[1] => Array ( [id] => 6220 [name] => Vattenpump Volvo 240 1974-1984 [model] => 26430681 [image] => 20_26430681.jpg [price] => 287.2000 [cost] => [quantity] => 1 [weight] => 3.00 [final_price] => 287.2 [tax_class_id] => 1 [attributes] => )
[2] => Array ( [id] => 6219 [name] => Packningssats till vattenpump Volvo 240 [model] => 26430667 [image] => 15_26430667.jpg [price] => 47.2000 [cost] => [quantity] => 1 [weight] => 0.20 [final_price] => 47.2 [tax_class_id] => 1 [attributes] => )
[3] => Array ( [id] => 6218 [name] => Termostat 87 grader Volvo 240 1974-1993 [model] => 26433459 [image] => 15_26433459.jpg [price] => 103.2000 [cost] => [quantity] => 1 [weight] => 0.50 [final_price] => 103.2 [tax_class_id] => 1 [attributes] => )
[4] => Array ( [id] => 6217 [name] => Kylarslang Kylare till vattenpump [model] => 87430616 [image] => 03_87430616.jpg [price] => 119.2000 [cost] => [quantity] => 1 [weight] => 2.00 [final_price] => 119.2 [tax_class_id] => 1 [attributes] => )
[5] => Array ( [id] => 6216 [name] => Kylare till motor Volvo 240 [model] => 87431126 [image] => 27_87431127.jpg [price] => 1039.2000 [cost] => [quantity] => 1 [weight] => 5.00 [final_price] => 1039.2 [tax_class_id] => 1 [attributes] =>[/CODE]
22 oktober, 2012 kl. 19:22 #154303JohanKDeltagareprint_r($cart->cart_size); så printar den bara 6.
Observera om jag lägger i 2 av varje 6 produkter så printar den ändå ut 6
-
FörfattareInlägg
- Du måste vara inloggad för att svara på detta ämne.