[-] 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
This commit is contained in:
Fabio Chelly committed 2013-07-05 17:18:28 +02:00
1 parent 2489778b3c
commit a70d3145cd
2 files changed
+42 -32

No files matched your search

+16 -3
View File
@@ -31,6 +31,8 @@ require_once(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../header.php'); require_once(dirname(__FILE__).'/../../header.php');
require_once(dirname(__FILE__).'/WishList.php'); require_once(dirname(__FILE__).'/WishList.php');
error_reporting(0);
$context = Context::getContext(); $context = Context::getContext();
$token = Tools::getValue('token'); $token = Tools::getValue('token');
@@ -44,23 +46,27 @@ if (empty($token) === false)
$errors[] = $module->l('Invalid wishlist token', 'view'); $errors[] = $module->l('Invalid wishlist token', 'view');
WishList::refreshWishList($wishlist['id_wishlist']); WishList::refreshWishList($wishlist['id_wishlist']);
$products = WishList::getProductByIdCustomer((int)($wishlist['id_wishlist']), (int)($wishlist['id_customer']), $context->language->id, null, true); $products = WishList::getProductByIdCustomer((int)($wishlist['id_wishlist']), (int)($wishlist['id_customer']), $context->language->id, null, true);
for ($i = 0; $i < sizeof($products); ++$i) 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)) if (!Validate::isLoadedObject($obj))
continue; continue;
else 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); $combination_imgs = $obj->getCombinationImages($context->language->id);
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']; $products[$i]['cover'] = $obj->id.'-'.$combination_imgs[$products[$i]['id_product_attribute']][0]['id_image'];
} }
else else
{ {
$images = $obj->getImages($context->language->id); $images = $obj->getImages($context->language->id);
foreach ($images AS $k => $image) foreach ($images AS $k => $image)
{
if ($image['cover']) if ($image['cover'])
{ {
$products[$i]['cover'] = $obj->id.'-'.$image['id_image']; $products[$i]['cover'] = $obj->id.'-'.$image['id_image'];
@@ -70,8 +76,15 @@ if (empty($token) === false)
if (!isset($products[$i]['cover'])) if (!isset($products[$i]['cover']))
$products[$i]['cover'] = $context->language->iso_code.'-default'; $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'])); WishList::incCounter((int)($wishlist['id_wishlist']));
$ajax = Configuration::get('PS_BLOCK_CART_AJAX'); $ajax = Configuration::get('PS_BLOCK_CART_AJAX');
$context->smarty->assign(array ( $context->smarty->assign(array (
+26 -29
View File
@@ -38,35 +38,35 @@
{/foreach} {/foreach}
</p> </p>
{/if} {/if}
{if $products}
<div class="addresses" id="featured-products_block_center"> <div class="wlp_bought">
<h3>{l s='Welcome to the wishlist of' mod='blockwishlist'} {$current_wishlist.firstname} {$current_wishlist.lastname}: {$current_wishlist.name}</h3> <ul class="clearfix wlp_bought_list">
<p />
{foreach from=$products item=product name=i} {foreach from=$products item=product name=i}
<ul class="address {if $smarty.foreach.i.last}last_item{elseif $smarty.foreach.i.first}first_item{/if} {if $smarty.foreach.i.index % 2}alternate_item{else}item{/if}" id="block_{$product.id_product}_{$product.id_product_attribute}"> <li id="wlp_{$product.id_product}_{$product.id_product_attribute}" class="clearfix address {if $smarty.foreach.i.index % 2}alternate_{/if}item">
<div class="ajax_block_product"> <div class="clearfix">
<li class="address_title"><a href="{$link->getProductLink($product.id_product, <div class="product_image">
$product.link_rewrite, $product.category_rewrite)}" title="{l s='View' mod='blockwishlist'}">{$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'}</a></li> <a href="{$link->getProductlink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='Product detail' mod='blockwishlist'}">
<li class="address_name"> <img src="{$link->getImageLink($product.link_rewrite, $product.cover, 'medium_default')|escape:'html'}" alt="{$product.name|escape:'htmlall':'UTF-8'}" />
<a href="{$link->getProductlink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='Product detail' mod='blockwishlist'}" class="product_image" title="{$product.name|escape:'htmlall':'UTF-8'}">
<img src="{$link->getImageLink($product.link_rewrite, $product.cover, 'medium')|escape:'html'}" alt="{$product.name|escape:'htmlall':'UTF-8'}" />
</a> </a>
</div>
<div class="product_infos">
<p id="s_title" class="product_name">{$product.name|truncate:30:'...'|escape:'htmlall':'UTF-8'}</p>
<span class="wishlist_product_detail"> <span class="wishlist_product_detail">
{if isset($product.attributes_small)} {if isset($product.attributes_small)}
<br /><a href="{$link->getProductlink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='Product detail' mod='blockwishlist'}">{$product.attributes_small|escape:'htmlall':'UTF-8'}</a> <a href="{$link->getProductlink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='Product detail' mod='blockwishlist'}">{$product.attributes_small|escape:'htmlall':'UTF-8'}</a>
{/if}
<br />{l s='Quantity:' mod='blockwishlist'}<input type="text" id="{$product.id_product}_{$product.id_product_attribute}" size="3" value="{$product.quantity|intval}" readonly/>
<br />{l s='Priority:' mod='blockwishlist'}
{if $product.priority eq 0}
<span style="color:darkred; float:right;">{l s='High' mod='blockwishlist'}</span>
{elseif $product.priority eq 1}
<span style="color:darkorange; float:right;">{l s='Medium' mod='blockwishlist'}</span>
{else}
<span style="color:green; float:right;">{l s='Low' mod='blockwishlist'}</span>
{/if} {/if}
<br />{l s='Quantity' mod='blockwishlist'}:<input type="text" id="quantity_{$product.id_product}_{$product.id_product_attribute}" value="{$product.quantity|intval}" size="3" />
<br /><br />
{l s='Priority' mod='blockwishlist'}:
<select id="priority_{$product.id_product}_{$product.id_product_attribute}">
<option value="0"{if $product.priority eq 0} selected="selected"{/if}>{l s='High' mod='blockwishlist'}</option>
<option value="1"{if $product.priority eq 1} selected="selected"{/if}>{l s='Medium' mod='blockwishlist'}</option>
<option value="2"{if $product.priority eq 2} selected="selected"{/if}>{l s='Low' mod='blockwishlist'}</option>
</select>
</span> </span>
</li> </div>
<li class="address_address1 clear"> </div>
<div class="btn_action">
<a class="button_small clear" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='View' mod='blockwishlist'}" rel="nofollow">{l s='View' mod='blockwishlist'}</a> <a class="button_small clear" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='View' mod='blockwishlist'}" rel="nofollow">{l s='View' mod='blockwishlist'}</a>
{if isset($product.attribute_quantity) AND $product.attribute_quantity >= 1 OR !isset($product.attribute_quantity) AND $product.product_quantity >= 1} {if isset($product.attribute_quantity) AND $product.attribute_quantity >= 1 OR !isset($product.attribute_quantity) AND $product.product_quantity >= 1}
{if !$ajax} {if !$ajax}
@@ -83,13 +83,10 @@
{else} {else}
<span class="exclusive">{l s='Add to cart' mod='blockwishlist'}</span> <span class="exclusive">{l s='Add to cart' mod='blockwishlist'}</span>
{/if} {/if}
</li>
</div> </div>
</ul> </li>
{/foreach} {/foreach}
<p class="clear" /> </ul>
</div> </div>
{else}
<p class="warning">{l s='No products' mod='blockwishlist'}</p>
{/if}
</div> </div>