From a70d3145cd33397142791e23fd8c8a94642949c8 Mon Sep 17 00:00:00 2001
From: Fabio Chelly
Date: Fri, 5 Jul 2013 17:18:28 +0200
Subject: [PATCH] [-] MO Blockwishlist : images are displayed in wishlist page
loaded through a permalink. Add to cart is restored and quantity is correctly
calculated for each product with or without combinations #PNM-573 #PNM-663
#PNM-1268 #PNM-1302 #PNM-1303 #PNM-1313 #PNM-1512 #PNM-1541
---
modules/blockwishlist/view.php | 27 ++++++---
modules/blockwishlist/view.tpl | 103 ++++++++++++++++-----------------
2 files changed, 70 insertions(+), 60 deletions(-)
diff --git a/modules/blockwishlist/view.php b/modules/blockwishlist/view.php
index 695462021..d4d880f6c 100644
--- a/modules/blockwishlist/view.php
+++ b/modules/blockwishlist/view.php
@@ -31,6 +31,8 @@ require_once(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../header.php');
require_once(dirname(__FILE__).'/WishList.php');
+error_reporting(0);
+
$context = Context::getContext();
$token = Tools::getValue('token');
@@ -44,34 +46,45 @@ if (empty($token) === false)
$errors[] = $module->l('Invalid wishlist token', 'view');
WishList::refreshWishList($wishlist['id_wishlist']);
$products = WishList::getProductByIdCustomer((int)($wishlist['id_wishlist']), (int)($wishlist['id_customer']), $context->language->id, null, true);
+
for ($i = 0; $i < sizeof($products); ++$i)
{
- $obj = new Product($products[$i]['id_product'], false, $context->language->id);
+ $obj = new Product((int)($products[$i]['id_product']), false, $context->language->id);
if (!Validate::isLoadedObject($obj))
continue;
else
{
- if ($products[$i]['id_product_attribute'] != 0 && isset($combination_imgs[$products[$i]['id_product_attribute']][0]))
+ $quantity = Product::getQuantity((int)$products[$i]['id_product'], $products[$i]['id_product_attribute']);
+ $products[$i]['attribute_quantity'] = $quantity;
+ $products[$i]['product_quantity'] = $quantity;
+ if ($products[$i]['id_product_attribute'] != 0)
{
$combination_imgs = $obj->getCombinationImages($context->language->id);
- $products[$i]['cover'] = $obj->id.'-'.$combination_imgs[$products[$i]['id_product_attribute']][0]['id_image'];
+ if (isset($combination_imgs[$products[$i]['id_product_attribute']][0]))
+ $products[$i]['cover'] = $obj->id.'-'.$combination_imgs[$products[$i]['id_product_attribute']][0]['id_image'];
}
else
{
$images = $obj->getImages($context->language->id);
foreach ($images AS $k => $image)
- {
if ($image['cover'])
{
$products[$i]['cover'] = $obj->id.'-'.$image['id_image'];
break;
}
- }
- if (!isset($products[$i]['cover']))
- $products[$i]['cover'] = $context->language->iso_code.'-default';
}
+ if (!isset($products[$i]['cover']))
+ $products[$i]['cover'] = $context->language->iso_code.'-default';
+ }
+ $products[$i]['bought'] = false;
+ for ($j = 0, $k = 0; $j < sizeof($bought); ++$j)
+ {
+ if ($bought[$j]['id_product'] == $products[$i]['id_product'] AND
+ $bought[$j]['id_product_attribute'] == $products[$i]['id_product_attribute'])
+ $products[$i]['bought'][$k++] = $bought[$j];
}
}
+
WishList::incCounter((int)($wishlist['id_wishlist']));
$ajax = Configuration::get('PS_BLOCK_CART_AJAX');
$context->smarty->assign(array (
diff --git a/modules/blockwishlist/view.tpl b/modules/blockwishlist/view.tpl
index b0b9efba4..cbd37a0fa 100644
--- a/modules/blockwishlist/view.tpl
+++ b/modules/blockwishlist/view.tpl
@@ -38,58 +38,55 @@
{/foreach}
{/if}
-{if $products}
-
-
{l s='Welcome to the wishlist of' mod='blockwishlist'} {$current_wishlist.firstname} {$current_wishlist.lastname}: {$current_wishlist.name}
-
- {foreach from=$products item=product name=i}
-
- {/foreach}
-
+
+
+
+ {foreach from=$products item=product name=i}
+ -
+
+
+
+
{$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'}
+
+ {if isset($product.attributes_small)}
+ {$product.attributes_small|escape:'htmlall':'UTF-8'}
+ {/if}
+
{l s='Quantity' mod='blockwishlist'}:
+
+ {l s='Priority' mod='blockwishlist'}:
+
+
+
+
+
+
+ {/foreach}
+
-{else}
-
{l s='No products' mod='blockwishlist'}
-{/if}
+