Plus Forum Övrigt Off-topic Nån duktig på php.. Dan??

Visar 10 inlägg - 1 till 10 (av 17 totalt)
  • Författare
    Inlägg
  • #99017
    JohanK
    Deltagare

    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 cart
    cart_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 cart

    cart_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]

    #154289
    Dan
    Deltagare

    $visamax=3;
    $totaltikundvagn=mysql_num_rows($blabla);
    if($totaltikundvagn>$visamax)
    echo “samt “,$totaltikundvagn-$visamax,” annan produkt”;

    #154291
    JohanK
    Deltagare

    @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.

    #154293
    Dan
    Deltagare

    Japp, 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.

    #154296
    JohanK
    Deltagare

    Hua, det där kommer jag aldrig kunna lösa :/

    Får bli snålvarianten med Du har 6 varor i korgen.. :)

    #154297
    Lubic
    Deltagare

    Har 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?

    #154298
    JohanK
    Deltagare

    Cart 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..

    #154299

    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.

    #154302
    JohanK
    Deltagare

    @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]

    #154303
    JohanK
    Deltagare

    print_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

Visar 10 inlägg - 1 till 10 (av 17 totalt)
  • Du måste vara inloggad för att svara på detta ämne.