[contact-form-7 id="24078" title="Feedback EN"]

Featured templates

Magento. How to hide prices and Add to cart button for non-logged in visitors

This tutorial will show you how to hide prices and Add to cart button for guest users in Magento.

Magento. How to hide prices and Add to cart button for non-logged in visitors

  1. Connect to your server using FTP client or the File Manager from your Hosting Cpanel.

  2. Open price.phtml file from app/design/frontend/tm_themes/themeXXX/template/catalog/product/ where XXX is the number of your theme, and then place the following code on top of it:

    <?php
    if(!Mage::getSingleton('customer/session')->isLoggedIn()){
    echo '<span class="login_for_price"><strong>Login to See Price</strong></span><br>';
    return;
    }
    ?>
  3. Now we will hide the ‘Add to Cart’ button on category list page. Open /app/design/frontend/default/themeXXX/template/catalog/product/list.phtml file and look for the following code:

      <?php if($_product->isSaleable()): ?>
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br>
      <?php else: ?>
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>

    and replace it with:

     
      <?php
        if(!Mage::getSingleton('customer/session')->isLoggedIn()){
        echo '<span class="login_for_details" style="float:left"><strong>Login to Add to Cart</strong></span>';
        }
        else{
        ?>
      <?php if($_product->isSaleable()): ?>
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br>
      <?php else: ?>
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>
      <?php    }?>

    Note: look for <div class="add-to-cart-grid"> and <div class="add-to-cart-grid-2"> and perform the same changes:

    magento_how_to_hide prices_and_Add_to_cart_button_for_non-logged-in_visitors1

    Save changes:

  4. Now we will hide the ‘Add to Cart’ button on product detail page. Open app/design/frontend/default/themeXXX/template/catalog/product/view/addtocart.phtml file. Add the following code on top of it:

      <?php
        if(!Mage::getSingleton('customer/session')->isLoggedIn()){ 
        echo '<span class="login_for_details" style="float:left"><strong>Login to Add to Cart</strong></span>';
        return;<
        }
        ?>

    Save changes.

  5. In order to hide the ‘Add to Cart’ button on compare page, open /app/design/frontend/base/default/template/catalog/product/compare/list.phtml file and copy it to /app/design/frontend/default/themeXXX/template/catalog/product/compare/ folder. Open it and look for the following code:

      <?php if($_product->isSaleable()): ?>
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br>
      <?php else: ?>
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>

    and replace it with:

     
      <?php
        if(!Mage::getSingleton('customer/session')->isLoggedIn()){ 
        echo '<span class="login_for_details" style="float:left"><strong>Login to Add to Cart</strong></span>';
        }
        else{
        ?>
      <?php if($_product->isSaleable()): ?>
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br> 
      <?php else: ?>
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>
      <?php    }?>

    Save changes.

  6. In order to hide the ‘Add to Cart’ button on Specials page, open /app/design/frontend/tm_themes/themeXXX/template/catalog/product/widget/sale/sale_default_list.phtml file and look for the following code:

      <?php if($_product->isSaleable()): ?>
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br>
      <?php else: ?>
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
      <?php endif; ?>

    and replace it with:

     <?php
        if(!Mage::getSingleton('customer/session')->isLoggedIn()){ 
        echo '<span class="login_for_details" style="float:left"><strong>Login to Add to Cart</strong></span>';
        }
        else{
        ?>
      <?php if($_product->isSaleable()): ?>
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br> 
      <?php else: ?> 
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> 
      <?php endif; ?> 
      <?php    }?>

    Save changes.

  7. In order to hide the ‘Add to Cart’ button for new products, open /app/design/frontend/tm_themes/themeXXX/template/catalog/product/widget/new/content/new_grid.phtml file and look for the following code:

     <?php if($_product->isSaleable()): ?> 
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br> 
      <?php else: ?> 
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> 
      <?php endif; ?>

    and replace it with:

     
      <?php 
        if(!Mage::getSingleton('customer/session')->isLoggedIn()){ 
        echo '<span class="login_for_details" style="float:left"><strong>Login to Add to Cart</strong></span>'; 
        } 
        else{ 
        ?> 
      <?php if($_product->isSaleable()): ?> 
      <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button><br> 
      <?php else: ?> 
      <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> 
      <?php endif; ?> 
      <?php    }?>

    Save changes.

  8. If you need to find out the location of the file which is used for the page or block not mentioned in this tutorial, please use Magento debug tool (Template Path Hints) following this tutorial on using Magento debug tool (Template Path Hints).

    Feel free to check the detailed video tutorial below:

    Magento. How to hide prices and Add to cart button for non-logged in visitors