RGBY Posted September 26, 2012 Share Posted September 26, 2012 (edited) My product cart has the electronic cigarette theme installed (39305) When there are 2 or more items in the product cart, and I click to increase quanitity of one of them, they re-arrange. I would like to make it so they stay in the same position regardless of adjustments. I dont actually care what order they appear in, just that they dont get changed. I know that the original prestashop doesnt do this, but mine does (due to new theme?) the product-cart.tpl is below {capture name=path}{l s='Your shopping cart'}{/capture} {include file="$tpl_dir./breadcrumb.tpl"} <h1 id="cart_title">{l s='Shopping cart summary'}</h1> {assign var='current_step' value='summary'} {include file="$tpl_dir./order-steps.tpl"} {include file="$tpl_dir./errors.tpl"} {if isset($empty)} <p class="warning">{l s='Your shopping cart is empty.'}</p> {elseif $PS_CATALOG_MODE} <p class="warning">{l s='This store has not accepted your new order.'}</p> {else} <script type="text/javascript"> // <![CDATA[ var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}'; var currencyRate = '{$currencyRate|floatval}'; var currencyFormat = '{$currencyFormat|intval}'; var currencyBlank = '{$currencyBlank|intval}'; var txtProduct = "{l s='product'}"; var txtProducts = "{l s='products'}"; // ]]> </script> <p style="display:none" id="emptyCartWarning" class="warning">{l s='Your shopping cart is empty.'}</p> {* {if isset($lastProductAdded) AND $lastProductAdded} {foreach from=$products item=product} {if $product.id_product == $lastProductAdded.id_product AND (!$product.id_product_attribute OR ($product.id_product_attribute == $lastProductAdded.id_product_attribute))} <table class="cart_last_product std"> <tr> <th colspan="2">{l s='Last added product'}</th> </tr> <tr> <td class="cart_product"><a class="cart_last_product_img" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'small')}" alt="{$product.name|escape:'htmlall':'UTF-8'}"/></a></td> <td> <h5><a class="product_link" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:'htmlall':'UTF-8'}">{$product.name|escape:'htmlall':'UTF-8'}</a></h5> {if isset($product.attributes) && $product.attributes}<a class="product_descr" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:'htmlall':'UTF-8'}">{$product.attributes|escape:'htmlall':'UTF-8'}</a>{/if} </td> </tr> </table> {/if} {/foreach} {/if} *} <p class="p-cart">{l s='Your shopping cart contains'} <span id="summary_products_quantity">{$productNumber} {if $productNumber == 1}{l s='product'}{else}{l s='products'}{/if}</span></p> <div id="order-detail-content" class="table_block"> <table id="cart_summary" class="std"> <thead> <tr> <th class="cart_product first_item">{l s='Product'}</th> <th class="cart_description item">{l s='Description'}</th> <th class="cart_ref item">{l s='Ref.'}</th> <th class="cart_availability item">{l s='Avail.'}</th> <th class="cart_unit item">{l s='Unit price'}</th> <th class="cart_quantity item">{l s='Qty'}</th> <th class="cart_total last_item">{l s='Total'}</th> </tr> </thead> <tfoot> {if $use_taxes} {if $priceDisplay} <tr class="cart_total_price"> <td colspan="6">{l s='Total products'}{if $display_tax_label} {l s='(tax excl.)'}{/if}{l s=':'}</td> <td class="price" id="total_product"><span class="price">{displayPrice price=$total_products}</span></td> </tr> {else} <tr class="cart_total_price"> <td colspan="6">{l s='Total products'}{if $display_tax_label} {l s='(tax incl.)'}{/if}{l s=':'}</td> <td class="price" id="total_product"><span class="price">{displayPrice price=$total_products_wt}</span></td> </tr> {/if} {else} <tr class="cart_total_price"> <td colspan="6">{l s='Total products:'}</td> <td class="price" id="total_product"><span class="price">{displayPrice price=$total_products}</span></td> </tr> {/if} <tr class="cart_total_voucher" {if $total_discounts == 0}style="display: none;"{/if}> <td colspan="6"> {if $use_taxes} {if $priceDisplay} {l s='Total vouchers'}{if $display_tax_label} {l s='(tax excl.)'}{/if}{l s=':'} {else} {l s='Total vouchers'}{if $display_tax_label} {l s='(tax incl.)'}{/if}{l s=':'} {/if} {else} {l s='Total vouchers:'} {/if} </td> <td class="price-discount" id="total_discount"> <span class="price">{if $use_taxes}{if $priceDisplay}{displayPrice price=$total_discounts_tax_exc}{else}{displayPrice price=$total_discounts}{/if}{else}{displayPrice price=$total_discounts_tax_exc}{/if}</span> </td> </tr> <tr class="cart_total_voucher" {if $total_wrapping == 0}style="display: none;"{/if}> <td colspan="6"> {if $use_taxes} {if $priceDisplay} {l s='Total gift-wrapping'}{if $display_tax_label} {l s='(tax excl.)'}{/if}{l s=':'} {else} {l s='Total gift-wrapping'}{if $display_tax_label} {l s='(tax incl.)'}{/if}{l s=':'} {/if} {else} {l s='Total gift-wrapping:'} {/if} </td> <td class="price-discount" id="total_wrapping"> <span class="price">{if $use_taxes}{if $priceDisplay}{displayPrice price=$total_wrapping_tax_exc}{else}{displayPrice price=$total_wrapping}{/if}{else}{displayPrice price=$total_wrapping_tax_exc}{/if}</span> </td> </tr> {if $use_taxes} {if $priceDisplay} <tr class="cart_total_delivery" {if $shippingCost <= 0} style="display:none;"{/if}> <td colspan="6">{l s='Total shipping'}{if $display_tax_label} {l s='(tax excl.)'}{/if}{l s=':'}</td> <td class="price" id="total_shipping"><span class="price">{displayPrice price=$shippingCostTaxExc}</span></td> </tr> {else} <tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none;"{/if}> <td colspan="6">{l s='Total shipping'}{if $display_tax_label} {l s='(tax incl.)'}{/if}{l s=':'}</td> <td class="price" id="total_shipping" ><span class="price">{displayPrice price=$shippingCost}</span></td> </tr> {/if} {else} <tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none;"{/if}> <td colspan="6">{l s='Total shipping:'}</td> <td class="price" id="total_shipping" ><span class="price">{displayPrice price=$shippingCostTaxExc}</span></td> </tr> {/if} {if $use_taxes} <tr class="cart_total_price"> <td colspan="6"> {if $display_tax_label} {l s='Total (tax excl.):'} {else} {l s='Subtotal:'} {/if} </td> <td class="price" id="total_price_without_tax"><span class="price">{displayPrice price=$total_price_without_tax}</span></td> </tr> <tr class="cart_total_tax"> <td colspan="6"> {if $display_tax_label} {l s='Total tax:'} {else} {l s='Estimated Sales Tax:'} {/if} </td> <td class="price" id="total_tax"><span class="price">{displayPrice price=$total_tax}</span></td> </tr> <tr class="cart_total_price"> <td colspan="6"> {if $display_tax_label} {l s='Total (tax incl.):'} {else} {l s='Total:'} {/if} </td> <td class="price" id="total_price"><span class="price">{displayPrice price=$total_price}</span></td> </tr> {else} <tr class="cart_total_price"> <td colspan="6">{l s='Total:'}</td> <td class="price" id="total_price"><span class="price">{displayPrice price=$total_price_without_tax}</span></td> </tr> {/if} <tr class="cart_free_shipping" {if $free_ship <= 0 || $isVirtualCart} style="display:none;" {/if}> <td colspan="6" style="white-space:normal;">{l s='Remaining amount to be added to your cart in order to obtain free shipping:'}</td> <td id="free_shipping" class="price"><span class="price">{displayPrice price=$free_ship}</span></td> </tr> </tfoot> <tbody> {foreach from=$products item=product name=productLoop} {assign var='productId' value=$product.id_product} {assign var='productAttributeId' value=$product.id_product_attribute} {assign var='quantityDisplayed' value=0} {* Display the product line *} {include file="$tpl_dir./shopping-cart-product-line.tpl"} {* Then the customized datas ones*} {if isset($customizedDatas.$productId.$productAttributeId)} {foreach from=$customizedDatas.$productId.$productAttributeId key='id_customization' item='customization'} <tr id="product_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" class="alternate_item cart_item"> <td colspan="5"> {foreach from=$customization.datas key='type' item='datas'} {if $type == $CUSTOMIZE_FILE} <div class="customizationUploaded"> <ul class="customizationUploaded"> {foreach from=$datas item='picture'}<li><img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" /></li>{/foreach} </ul> </div> {elseif $type == $CUSTOMIZE_TEXTFIELD} <ul class="typedText"> {foreach from=$datas item='textField' name='typedText'}<li>{if $textField.name}{$textField.name}{else}{l s='Text #'}{$smarty.foreach.typedText.index+1}{/if}{l s=':'} {$textField.value}</li>{/foreach} </ul> {/if} {/foreach} </td> <td class="cart_quantity"> <div id="cart_quantity_button" style="float:left"> <a rel="nofollow" class="cart_quantity_up" id="cart_quantity_up_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="{$link->getPageLink('cart.php', true)}?add&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$token_cart}" title="{l s='Add'}"><img src="{$img_dir}icon/quantity_up.png" alt="{l s='Add'}" /></a> {if $product.minimal_quantity < ($customization.quantity -$quantityDisplayed) OR $product.minimal_quantity <= 1} <input class="text" size="2" type="text" value="{$customization.quantity}" class="cart_quantity_input" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"/> <a rel="nofollow" class="cart_quantity_down" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="{$link->getPageLink('cart.php', true)}?add&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&op=down&token={$token_cart}" title="{l s='Subtract'}"><img src="{$img_dir}icon/quantity_down.png" alt="{l s='Subtract'}" /></a> {else} <a class="cart_quantity_down" style="opacity:0.3;" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="#" title="{l s='Subtract'}"><img src="{$img_dir}icon/quantity_down.png" alt="{l s='Subtract'}" /></a> {/if} </div> <a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="{$link->getPageLink('cart.php', true)}?delete&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$token_cart}"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" title="{l s='Delete this customization'}" class="icon" /></a> <input type="hidden" value="{$customization.quantity}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_hidden"/> </td> <td class="cart_total"></td> </tr> {assign var='quantityDisplayed' value=$quantityDisplayed+$customization.quantity} {/foreach} {* If it exists also some uncustomized products *} {if $product.quantity-$quantityDisplayed > 0}{include file="$tpl_dir./shopping-cart-product-line.tpl"}{/if} {/if} {/foreach} </tbody> {if sizeof($discounts)} <tbody> {foreach from=$discounts item=discount name=discountLoop} <tr class="cart_discount {if $smarty.foreach.discountLoop.last}last_item{elseif $smarty.foreach.discountLoop.first}first_item{else}item{/if}" id="cart_discount_{$discount.id_discount}"> <td class="cart_discount_name" colspan="2">{$discount.name}</td> <td class="cart_discount_description" colspan="3">{$discount.description}</td> <td class="cart_discount_delete"><a href="{if $opc}{$link->getPageLink('order-opc.php', true)}{else}{$link->getPageLink('order.php', true)}{/if}?deleteDiscount={$discount.id_discount}" title="{l s='Delete'}"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="icon" /></a></td> <td class="cart_discount_price"><span class="price-discount price"> {if $discount.value_real > 0} {if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if} {/if} </span></td> </tr> {/foreach} </tbody> {/if} </table> </div> {if $voucherAllowed} <div id="cart_voucher" class="table_block"> {if isset($errors_discount) && $errors_discount} <ul class="error"> {foreach from=$errors_discount key=k item=error} <li>{$error|escape:'htmlall':'UTF-8'}</li> {/foreach} </ul> {/if} <form action="{if $opc}{$link->getPageLink('order-opc.php', true)}{else}{$link->getPageLink('order.php', true)}{/if}" method="post" id="voucher"> <fieldset class="bordercolor"> <h2>{l s='Vouchers'}</h2> <p class="text"> <label for="discount_name">{l s='Code:'}</label> <input type="text" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" /> </p> <p class="submit"><input type="hidden" name="submitDiscount" /><input type="submit" name="submitAddDiscount" value="{l s='Add'}" class="button" /></p> {if $displayVouchers} <div class="clearblock"></div> <div id="display_cart_vouchers"> <h4>{l s='Take advantage of our offers:'}</h4> {foreach from=$displayVouchers item=voucher} <div><span onclick="$('#discount_name').val('{$voucher.name}');return false;" class="voucher_name">{$voucher.name}</span> — {$voucher.description}</div> {/foreach} </div> {/if} </fieldset> </form> </div> {/if} <div id="HOOK_SHOPPING_CART">{$HOOK_SHOPPING_CART}</div> {* Define the style if it doesn't exist in the PrestaShop version*} {* Will be deleted for 1.5 version and more *} {if !isset($addresses_style)} {$addresses_style.company = 'address_company'} {$addresses_style.vat_number = 'address_company'} {$addresses_style.firstname = 'address_name'} {$addresses_style.lastname = 'address_name'} {$addresses_style.address1 = 'address_address1'} {$addresses_style.address2 = 'address_address2'} {$addresses_style.city = 'address_city'} {$addresses_style.country = 'address_country'} {$addresses_style.phone = 'address_phone'} {$addresses_style.phone_mobile = 'address_phone_mobile'} {$addresses_style.alias = 'address_title'} {/if} {if (($carrier->id AND !isset($virtualCart)) OR $delivery->id OR $invoice->id) AND !$opc} <div class="order_delivery"> {if !isset($formattedAddresses)} {if $delivery->id} <ul id="delivery_address" class="address item bordercolor"> <li class="address_title">{l s='Delivery address'}</li> {if $delivery->company}<li class="address_company">{$delivery->company|escape:'htmlall':'UTF-8'}</li>{/if} <li class="address_name">{$delivery->firstname|escape:'htmlall':'UTF-8'} {$delivery->lastname|escape:'htmlall':'UTF-8'}</li> <li class="address_address1">{$delivery->address1|escape:'htmlall':'UTF-8'}</li> {if $delivery->address2}<li class="address_address2">{$delivery->address2|escape:'htmlall':'UTF-8'}</li>{/if} <li class="address_city">{$delivery->postcode|escape:'htmlall':'UTF-8'} {$delivery->city|escape:'htmlall':'UTF-8'}</li> <li class="address_country">{$delivery->country|escape:'htmlall':'UTF-8'} {if $delivery_state}({$delivery_state|escape:'htmlall':'UTF-8'}){/if}</li> </ul> {/if} {if $invoice->id} <ul id="invoice_address" class="address alternate_item bordercolor"> <li class="address_title">{l s='Invoice address'}</li> {if $invoice->company}<li class="address_company">{$invoice->company|escape:'htmlall':'UTF-8'}</li>{/if} <li class="address_name">{$invoice->firstname|escape:'htmlall':'UTF-8'} {$invoice->lastname|escape:'htmlall':'UTF-8'}</li> <li class="address_address1">{$invoice->address1|escape:'htmlall':'UTF-8'}</li> {if $invoice->address2}<li class="address_address2">{$invoice->address2|escape:'htmlall':'UTF-8'}</li>{/if} <li class="address_city">{$invoice->postcode|escape:'htmlall':'UTF-8'} {$invoice->city|escape:'htmlall':'UTF-8'}</li> <li class="address_country">{$invoice->country|escape:'htmlall':'UTF-8'} {if $invoice_state}({$invoice_state|escape:'htmlall':'UTF-8'}){/if}</li> </ul> {/if} {else} {foreach from=$formattedAddresses item=address name=myLoop} <ul class="bordercolor address {if $smarty.foreach.myLoop.last}last_item{elseif $smarty.foreach.myLoop.first}first_item{/if} {if $smarty.foreach.myLoop.index % 2}alternate_item{else}item{/if}"> <li class="address_title">{$address.object.alias}</li> {foreach from=$address.ordered name=adr_loop item=pattern} {assign var=addressKey value=" "|explode:$pattern} <li> {foreach from=$addressKey item=key name="word_loop"} <span class="{if isset($addresses_style[$key])}{$addresses_style[$key]}{/if}"> {$address.formated[$key]|escape:'htmlall':'UTF-8'} </span> {/foreach} </li> {/foreach} </ul> {/foreach} {/if} <div class="clearblock"></div> {if $carrier->id AND !isset($virtualCart)} <div id="order_carrier" class="bordercolor"> <h4>{l s='Carrier:'}</h4> {if isset($carrierPicture)}<img src="{$img_ship_dir}{$carrier->id}.jpg" alt="{l s='Carrier'}" />{/if} <span>{$carrier->name|escape:'htmlall':'UTF-8'}</span> </div> {/if} </div> {/if} <p class="cart_navigation"> {if !$opc}<a href="{$link->getPageLink('order.php', true)}?step=1{if $back}&back={$back}{/if}" class="exclusive" title="{l s='Next'}">{l s='Next'} »</a>{/if} <a href="{if (isset($smarty.server.HTTP_REFERER) && strstr($smarty.server.HTTP_REFERER, $link->getPageLink('order.php'))) || !isset($smarty.server.HTTP_REFERER)}{$link->getPageLink('index.php')}{else}{$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'|secureReferrer}{/if}" class="button_large" title="{l s='Continue shopping'}">« {l s='Continue shopping'}</a> </p> {$HOOK_SHOPPING_CART_EXTRA} {/if} Edited September 26, 2012 by RGBY (see edit history) Link to comment Share on other sites More sharing options...
RGBY Posted September 27, 2012 Author Share Posted September 27, 2012 Update for anybody that has this problem, the blockcart module hadnt been installed properly meaning the page reloaded, making the last modified item go to the bottom Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now