This is an old revision of the document!
Add item to cart but cart shows as empty when moving to next page
LiteMage is working and it's caching pages for logged in users. However, once someone adds something to their cart and then moves on to the next page, the cart shows up as empty at the top right of the page.
Looks like header top links are not properly hole punched. Verified through
https://www.domain.com/?LITEMAGE_DEBUG=SHOWHOLES
and confirmed no hole punch.
Checking the config - design from Magento Admin, it uses default theme_revamp.
In header.phtml:
<div class="row"> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="top-sticky-text"> <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('header_sticky_block')->toHtml(); ?> </div> </div> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="top-links"> <ul class="top-links-list"> <?php if ($this->helper('customer')->isLoggedIn()): ?> <li><a href="<?php echo $this->getUrl('customer/account/logout'); ?>"><i class="account-icon"></i>Logout</a></li> <li><a href="<?php echo $this->getUrl('customer/account'); ?>"><i class="signup-icon"></i>My Account</a></li> <?php else: ?> <li><a href="<?php echo $this->getUrl('customer/account/login'); ?>"><i class="account-icon"></i>Login</a></li> <li><a href="<?php echo $this->getUrl('customer/account/create'); ?>"><i class="signup-icon"></i>Sign up</a></li> <?php endif ?> <li><a href="<?php echo Mage::helper('checkout/url')->getCheckoutUrl(); ?>"><i class="checkout-icon"></i>Checkout</a></li> <li class="bulk-link"> <a href="<?php echo $this->getUrl('quickshopping'); ?>"><i class="bulkpro-icon"></i>Quick Shop</a> </li> <li class="search-cart-cart-btn"> <?php $_cartQty = Mage::getSingleton('checkout/cart')->getSummaryQty()?Mage::getSingleton('checkout/cart')->getSummaryQty():'0'; ?> <div id="cart-main" class="search-cart cart-btn <?php if($_cartQty != 0) echo 'color-red'; ?>"> <div class="div_link-cart"> <div class="div_link-cart_inner"><?php echo $this->__('<a href="%s" id="topcartlink" class="top-cart"><i class="cart-icon"></i><span class="item-cart"> %s </span>items </a>', $this->getUrl('checkout/cart'),$_cartQty) ?> <div id="top_cart_sidebar" style="display: none"><?php echo $this->getChildHtml('em0050_cart_sidebar_top');?> </div> </div> </div> </div> </li> </ul> </div> </div> </div>
Create a new template toprow.phtml
in /home/user1/public_html/app/design/frontend/default/theme_revamp/template/page/html
with the following content:
<div class="row"> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="top-sticky-text"> <?php if (!$this->helper('customer')->isLoggedIn()) { echo $this->getLayout()->createBlock('cms/block')->setBlockId('header_sticky_block')->toHtml(); } ?> </div> </div> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="top-links"> <ul class="top-links-list"> <?php if ($this->helper('customer')->isLoggedIn()): ?> <li><a href="<?php echo $this->getUrl('customer/account/logout'); ?>"><i class="account-icon"></i>Logout</a></li> <li><a href="<?php echo $this->getUrl('customer/account'); ?>"><i class="signup-icon"></i>My Account</a></li> <?php else: ?> <li><a href="<?php echo $this->getUrl('customer/account/login'); ?>"><i class="account-icon"></i>Login</a></li> <li><a href="<?php echo $this->getUrl('customer/account/create'); ?>"><i class="signup-icon"></i>Sign up</a></li> <?php endif ?> <li><a href="<?php echo Mage::helper('checkout/url')->getCheckoutUrl(); ?>"><i class="checkout-icon"></i>Checkout</a></li> <li class="bulk-link"> <a href="<?php echo $this->getUrl('quickshopping'); ?>"><i class="bulkpro-icon"></i>Quick Shop</a> </li> <li class="search-cart-cart-btn"> <?php $_cartQty = Mage::getSingleton('checkout/cart')->getSummaryQty()?Mage::getSingleton('checkout/cart')->getSummaryQty():'0'; ?> <div id="cart-main" class="search-cart cart-btn <?php if($_cartQty != 0) echo 'color-red'; ?>"> <div class="div_link-cart"> <div class="div_link-cart_inner"><?php echo $this->__('<a href="%s" id="topcartlink" class="top-cart"><i class="cart-icon"></i><span class="item-cart"> %s </span>items </a>', $this->getUrl('checkout/cart'),$_cartQty) ?> <div id="top_cart_sidebar" style="display: none"><?php echo $this->getChildHtml('em0050_cart_sidebar_top');?> </div> </div> </div> </div> </li> </ul> </div> </div> </div>
Now the header.phtml related part becomes
32 <div class="top-bar"> 33 <div class="container"> 34 <?php echo $this->getChildHtml('toprow'); ?> 35 </div> 36 </div>
In the layout file, add the new block insider header section:
[/home/user1/public_html/app/design/frontend/default/theme_revamp/layout]# vi page.xml <block type="core/template" name="toprow" as="toprow" template="page/html/toprow.phtml" />
Last, in the LiteMage configuration, change the following:
- in the configuration, add “toprow” in Customized Block Names for “toplinks” Tag
- Flush Product and Categories When Product Qty Changes ⇒ “Flush product and categories only when stock status change”
- Separate cache copy per customer group ⇒ Yes
- Track recently Viewed ⇒ No
Then flush LiteMage cache and Magento cache.
If you want to warm up for logged in users, you can put a list of user IDs from different user group under “Crawl on behalf of logged-in users”.