Jump to content

Updating rolldown shopping cart content - live refresh?


Recommended Posts

Hi again everyone, I have a problem which needs community attention I suppose, since I`ve met this on many forum descriptions, but I found no viable solution to.

 

It`s about the rolldown shopping cart refreshment. Or the lack of refreshment in the shopping cart, that is. I dont know about yours, but mine is not showing up any products, only if I refresh the page. Please see the picture attached.

post-759375-0-32117900-1412252375_thumb.jpg

post-759375-0-60512200-1412252456_thumb.jpg

 

It shows all the atributes and quantities and prices, but not the product name. They show up upon page refreshment though.

 

I know there are a lot of topics on this subject, but all of them are related to development (forge prestashop) and involve editing ajax.js or other hard-core intervention, which is not my case, `couse I`m a simple mortal human, not programmer.

 

So can anyone give me an advice or point me to a comprehensive (of which I mean I`d be able to comprehend) step-by-step guide to solve this?

 

My ajax is untouched as it comes with 1.5.6 installation, the only modification I made was in the blockcart.tpl, changing the truncated characters from default (15 i guess) to a larger 30 chars.

 

Oh, and this thing is my last request from you (hopfully), but it is pretty urgent.

 

If anyone look into this, would you also please take a look at my other urgent matters as well, we plan on launching the site on monday (first plan was to february :))

http://www.prestashop.com/forums/topic/365273-customer-order-confirmation-email-links-order-history-my-account-not-working/

 

and 

 

http://www.prestashop.com/forums/topic/266211-solved-redirect-to-last-page-after-login-15/page-2?do=findComment&comment=1817620

 

Thanks in advance, and pizza+ beer is on me after the first online sale :)

 

OK, since I am not allowed to upload the blockcart.tpl, here is it`s content:

{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2013 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}


{*************************************************************************************************************************************}
{* IMPORTANT : If you change some data here, you have to report these changes in the ./blockcart-json.js (to let ajaxCart available) *}
{*************************************************************************************************************************************}
{if $ajax_allowed}
<script type="text/javascript">
var CUSTOMIZE_TEXTFIELD = {$CUSTOMIZE_TEXTFIELD};
var img_dir = '{$img_dir|addslashes}';
</script>
{/if}
<script type="text/javascript">
var customizationIdMessage = '{l s='Customization #' mod='blockcart' js=1}';
var removingLinkText = '{l s='Please remove this product from my cart.' mod='blockcart' js=1}';
var freeShippingTranslation = '{l s='Free shipping!' mod='blockcart' js=1}';
var freeProductTranslation = '{l s='Free!' mod='blockcart' js=1}';
var delete_txt = '{l s='Delete' mod='blockcart' js=1}';
var generated_date = {$smarty.now|intval};
</script>




<!-- MODULE Block cart -->
<div id="cart_block" class="block exclusive">
<h4 class="title_block">
<a href="{$link->getPageLink("$order_process", true)|escape:'html'}" title="{l s='View my shopping cart' mod='blockcart'}" rel="nofollow">{l s='Cart' mod='blockcart'}</a>
{if $ajax_allowed}
<span id="block_cart_expand" {if isset($colapseExpandStatus) && $colapseExpandStatus eq 'expanded' || !isset($colapseExpandStatus)}class="hidden"{/if}> </span>
<span id="block_cart_collapse" {if isset($colapseExpandStatus) && $colapseExpandStatus eq 'collapsed'}class="hidden"{/if}> </span>
{/if}
</h4>
<div class="block_content">
<!-- block summary -->
<div id="cart_block_summary" class="{if isset($colapseExpandStatus) && $colapseExpandStatus eq 'expanded' || !$ajax_allowed || !isset($colapseExpandStatus)}collapsed{else}expanded{/if}">
<span class="ajax_cart_quantity" {if $cart_qties <= 0}style="display:none;"{/if}>{$cart_qties}</span>
<span class="ajax_cart_product_txt_s" {if $cart_qties <= 1}style="display:none"{/if}>{l s='Products' mod='blockcart'}</span>
<span class="ajax_cart_product_txt" {if $cart_qties > 1}style="display:none"{/if}>{l s='Product' mod='blockcart'}</span>
<span class="ajax_cart_total" {if $cart_qties == 0}style="display:none"{/if}>
{if $cart_qties > 0}
{if $priceDisplay == 1}
{convertPrice price=$cart->getOrderTotal(false)}
{else}
{convertPrice price=$cart->getOrderTotal(true)}
{/if}
{/if}
</span>
<span class="ajax_cart_no_product" {if $cart_qties != 0}style="display:none"{/if}>{l s='(empty)' mod='blockcart'}</span>
</div>
<!-- block list of products -->
<div id="cart_block_list" class="{if isset($colapseExpandStatus) && $colapseExpandStatus eq 'expanded' || !$ajax_allowed || !isset($colapseExpandStatus)}expanded{else}collapsed{/if}">
{if $products}
<dl class="products">
{foreach from=$products item='product' name='myLoop'}
{assign var='productId' value=$product.id_product}
{assign var='productAttributeId' value=$product.id_product_attribute}
<dt id="cart_block_product_{$product.id_product}_{if $product.id_product_attribute}{$product.id_product_attribute}{else}0{/if}_{if $product.id_address_delivery}{$product.id_address_delivery}{else}0{/if}" class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}">
<span class="quantity-formated"><span class="quantity">{$product.cart_quantity}</span>x</span>
<a class="cart_block_product_name" href="{$link->getProductLink($product, $product.link_rewrite, $product.category, null, null, $product.id_shop, $product.id_product_attribute)|escape:'html'}" title="{$product.name|escape:html:'UTF-8'}">
{$product.name|truncate:30:'...'|escape:html:'UTF-8'}</a>
<span class="remove_link">{if !isset($customizedDatas.$productId.$productAttributeId) && (!isset($product.is_gift) || !$product.is_gift)}<a rel="nofollow" class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product}&ipa={$product.id_product_attribute}&id_address_delivery={$product.id_address_delivery}&token={$static_token}", true)|escape:'html'}" title="{l s='Please remove this product from my cart.' mod='blockcart'}"> </a>{/if}</span>
<span class="price">
{if !isset($product.is_gift) || !$product.is_gift}
{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice p="`$product.total`"}{else}{displayWtPrice p="`$product.total_wt`"}{/if}
{else}
<b>{l s='Free!' mod='blockcart'}</b>
{/if}
</span>
</dt>
{if isset($product.attributes_small)}
<dd id="cart_block_combination_of_{$product.id_product}{if $product.id_product_attribute}_{$product.id_product_attribute}{/if}_{$product.id_address_delivery|intval}" class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}">
<a href="{$link->getProductLink($product, $product.link_rewrite, $product.category, null, null, $product.id_shop, $product.id_product_attribute)|escape:'html'}" title="{l s='Product detail' mod='blockcart'}">{$product.attributes_small}</a>
{/if}


<!-- Customizable datas -->
{if isset($customizedDatas.$productId.$productAttributeId[$product.id_address_delivery])}
{if !isset($product.attributes_small)}<dd id="cart_block_combination_of_{$product.id_product}_{if $product.id_product_attribute}{$product.id_product_attribute}{else}0{/if}_{if $product.id_address_delivery}{$product.id_address_delivery}{else}0{/if}" class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}">{/if}
<ul class="cart_block_customizations" id="customization_{$productId}_{$productAttributeId}">
{foreach from=$customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] key='id_customization' item='customization' name='customizations'}
<li name="customization">
<div class="deleteCustomizableProduct" id="deleteCustomizableProduct_{$id_customization|intval}_{$product.id_product|intval}_{$product.id_product_attribute|intval}_{$product.id_address_delivery|intval}"><a class="ajax_cart_block_remove_link" href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$static_token}", true)|escape:'html'}" rel="nofollow"> </a></div>
<span class="quantity-formated"><span class="quantity">{$customization.quantity}</span>x</span>{if isset($customization.datas.$CUSTOMIZE_TEXTFIELD.0)}
{$customization.datas.$CUSTOMIZE_TEXTFIELD.0.value|replace:"<br />":" "|truncate:28:'...'|escape:html:'UTF-8'}
{else}
{l s='Customization #%d:' sprintf=$id_customization|intval mod='blockcart'}
{/if}
</li>
{/foreach}
</ul>
{if !isset($product.attributes_small)}</dd>{/if}
{/if}


{if isset($product.attributes_small)}</dd>{/if}


{/foreach}
</dl>
{/if}
<p {if $products}class="hidden"{/if} id="cart_block_no_products">{l s='No products' mod='blockcart'}</p>
{if $discounts|@count > 0}
<table id="vouchers"{if $discounts|@count == 0} style="display:none;"{/if}>
{foreach from=$discounts item=discount}
{if $discount.value_real > 0}
<tr class="bloc_cart_voucher" id="bloc_cart_voucher_{$discount.id_discount}">
<td class="quantity">1x</td>
<td class="name" title="{$discount.description}">{$discount.name|cat:' : '|cat:$discount.description|truncate:18:'...'|escape:'htmlall':'UTF-8'}</td>
<td class="price">-{if $priceDisplay == 1}{convertPrice price=$discount.value_tax_exc}{else}{convertPrice price=$discount.value_real}{/if}</td>
<td class="delete">
{if strlen($discount.code)}
<a class="delete_voucher" href="{$link->getPageLink('$order_process', true)}?deleteDiscount={$discount.id_discount}" title="{l s='Delete' mod='blockcart'}" rel="nofollow"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete' mod='blockcart'}" class="icon" /></a>
{/if}
</td>
</tr>
{/if}
{/foreach} 
</table>
{/if}
<p id="cart-prices">
<span id="cart_block_shipping_cost" class="price ajax_cart_shipping_cost">{$shipping_cost}</span>
<span>{l s='Shipping' mod='blockcart'}</span>
<br/>
{if $show_wrapping}
{assign var='cart_flag' value='Cart::ONLY_WRAPPING'|constant}
<span id="cart_block_wrapping_cost" class="price cart_block_wrapping_cost">{if $priceDisplay == 1}{convertPrice price=$cart->getOrderTotal(false, $cart_flag)}{else}{convertPrice price=$cart->getOrderTotal(true, $cart_flag)}{/if}</span>
<span>{l s='Wrapping' mod='blockcart'}</span>
<br/>
{/if}
{if $show_tax && isset($tax_cost)}
<span id="cart_block_tax_cost" class="price ajax_cart_tax_cost">{$tax_cost}</span>
<span>{l s='Tax' mod='blockcart'}</span>
<br/>
{/if}
<span id="cart_block_total" class="price ajax_block_cart_total">{$total}</span>
<span>{l s='Total' mod='blockcart'}</span>
</p>
{if $use_taxes && $display_tax_label == 1 && $show_tax}
{if $priceDisplay == 0}
<p id="cart-price-precisions">
{l s='Prices include tax.' mod='blockcart'}
</p>
{/if}
{if $priceDisplay == 1}
<p id="cart-price-precisions">
{l s='Prices do not include tax.' mod='blockcart'}
</p>
{/if}
{/if}
<p id="cart-buttons">
{if $order_process == 'order'}<a href="{$link->getPageLink("$order_process", true)|escape:'html'}" class="button_small" title="{l s='View my shopping cart' mod='blockcart'}" rel="nofollow">{l s='Cart' mod='blockcart'}</a>{/if}
<a href="{$link->getPageLink("$order_process", true)|escape:'html'}" id="button_order_cart" class="exclusive{if $order_process == 'order-opc'}_large{/if}" title="{l s='Checkout' mod='blockcart'}" rel="nofollow"><span></span>{l s='Checkout' mod='blockcart'}</a>
</p>
</div>
</div>
</div>
<!-- /MODULE Block cart -->
Link to comment
Share on other sites

PS: I was thinking silently, that this issue might be due to the fact that I am currently running of force compilation mode and no cache mode? So i have to try enabling CCC, template cache and cache and test it with that... i`ll be back with test results.

 

talking to myself: why is it that even though all the caches are disabled, ther still is a full folder of cached php things on the webserver in folder cache/smarty/compile - all recent, total weight of 2 mb? Hmm... 

 

No, it has nothing to do with caching, it still doesnt refresh the cart properly. Too bad...

Edited by Salus (see edit history)
Link to comment
Share on other sites

Hi Salus,

 

Me again. I'm glad bellini13 solved your other thread about the e-mail links! I only do light programming, but I'll try to help on this one anyway, if only to bump your thread:

 

1. Does your block cart work properly without refreshing if you change the theme back to the default one temporarily? I'm wondering if you hooked the block cart to a different place. BTW, I copied your blockcart.tpl and put it in my theme and it worked fine, so there's nothing wrong with it. 

 

2. Did you customize your htaccess file by any chance? Did you add any browser caching code with expiration dates?

 

About the smarty cache folder being full, you must have enabled smarty cache at one point. You can clear it out under the Advanced Parameters > Performance section. You can also clear it manually if that doesn't completely clear it, you can google how to do that. 

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...