Jump to content

Show discount prices (original & discount) in shopping-cart block & shopping cart


Recommended Posts

Hi guys,

 

... in PS 1.4.7 discounts only shown in the product list, but NOT in the shoping cart block or shopping cart summary. Or am I getting something wrong??

 

Does anyone know how a hack how to do this?

I found the it all seems to hang on the cart.php->getProducts() as the SQL only gets the discount price.

I am not very good a SQL. Does anyone know a trick to also grab the original price?

 

This is the SQL I am talking about:

SELECT cp.`id_product_attribute`, cp.`id_product`, cu.`id_customization`, cp.`quantity` AS cart_quantity, cu.`quantity` AS customization_quantity, pl.`name`,
	pl.`description_short`, pl.`available_now`, pl.`available_later`, p.`id_product`, p.`id_category_default`, p.`id_supplier`, p.`id_manufacturer`, p.`on_sale`, p.`ecotax`, p.`additional_shipping_cost`, p.`available_for_order`,
	p.`quantity`, p.`price`, p.`weight`, p.`width`, p.`height`, p.`depth`, p.`out_of_stock`, p.`active`, p.`date_add`, p.`date_upd`, IFNULL(pa.`minimal_quantity`, p.`minimal_quantity`) as minimal_quantity,
	t.`id_tax`, tl.`name` AS tax, t.`rate`, pa.`price` AS price_attribute, pa.`quantity` AS quantity_attribute,
	pa.`ecotax` AS ecotax_attr, pl.`link_rewrite`, cl.`link_rewrite` AS category, CONCAT(cp.`id_product`, cp.`id_product_attribute`) AS unique_id,
	IF (IFNULL(pa.`reference`, \'\') = \'\', p.`reference`, pa.`reference`) AS reference,
	IF (IFNULL(pa.`supplier_reference`, \'\') = \'\', p.`supplier_reference`, pa.`supplier_reference`) AS supplier_reference,
	(p.`weight`+ pa.`weight`) weight_attribute,
	IF (IFNULL(pa.`ean13`, \'\') = \'\', p.`ean13`, pa.`ean13`) AS ean13, IF (IFNULL(pa.`upc`, \'\') = \'\', p.`upc`, pa.`upc`) AS upc,
	pai.`id_image` pai_id_image, il.`legend` pai_legend
	FROM `'._DB_PREFIX_.'cart_product` cp
	LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = cp.`id_product`
	LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)$this->id_lang.')
	LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (pa.`id_product_attribute` = cp.`id_product_attribute`)
	LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (p.`id_tax_rules_group` = tr.`id_tax_rules_group`
		AND tr.`id_country` = '.(int)Country::getDefaultCountryId().'
		AND tr.`id_state` = 0)
	LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = tr.`id_tax`)
	LEFT JOIN `'._DB_PREFIX_.'tax_lang` tl ON (t.`id_tax` = tl.`id_tax` AND tl.`id_lang` = '.(int)$this->id_lang.')
	LEFT JOIN `'._DB_PREFIX_.'customization` cu ON (cp.`id_product` = cu.`id_product` AND cp.`id_product_attribute` = cu.`id_product_attribute` AND cu.`id_cart` = cp.`id_cart`)
	LEFT JOIN `'._DB_PREFIX_.'product_attribute_image` pai ON (pai.`id_product_attribute` = pa.`id_product_attribute`)
	LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (il.`id_image` = pai.`id_image` AND il.`id_lang` = '.(int)$this->id_lang.')
	LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->id_lang.')
	WHERE cp.`id_cart` = '.(int)$this->id.'
	'.($id_product ? ' AND cp.`id_product` = '.(int)$id_product : '').'
	AND p.`id_product` IS NOT NULL
	GROUP BY unique_id
	ORDER BY cp.date_add ASC';

 

It would be really cool if someone has a solution for this....

 

Thanks in advance

Rassy

Link to comment
Share on other sites

  • 2 months later...
×
×
  • Create New...