This is an old revision of the document!


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”.

  • Admin
  • Last modified: 2017/05/03 19:29
  • by Michael Alegre