News:

Looking for documentation? Take a look on our wiki

Main Menu

Hide add to cart button on category page

Started by Kans, May 30, 2013, 16:34:27 PM

Previous topic - Next topic

Kans

I have managed to add the "add to cart" button on the category page. But now I need to hide it if the user is not logged in. How can I do that?

See my post here for more info about what I did
https://forum.virtuemart.net/index.php?topic=90961.msg391007#msg391007

Kans


porscha

Hi Kans,

this thing was bothering me too and I found a solution. The code is a bit different than yours, but give it a try, it will hide the add to cart button (+ quantity) form category for non-registered users:

<div class="clear"> </div>
<div class="width100"> 
<?php // Add To Cart Button
$user   = &JFactory::getUser();
if (
$user->id)
  if (!
VmConfig::get('use_as_catalog'0) and !empty($product->prices)) {?>

<div class="FlexibleWebaddtocart-area"><form method="post" class="product js-recalculate" action="index.php">
  <?php // Product custom_fields
  
if (!empty($product->customfieldsCart)) {  ?>

<div class="FlexibleWeb-product-fields">
  <?php foreach ($product->customfieldsCart as $field)
  { 
?>

<div style="text-align: left;" class="product-field product-field-type-<?php echo $field->field_type ?>">
  <span class="product-fields-title"><b><?php echo  JText::_($field->custom_title?></b></span>
  <?php if ($field->custom_tip) echo JHTML::tooltip($field->custom_tip,  JText::_($field->custom_title), 'tooltip.png'); ?>

       <span class="product-field-display"><?php echo $field->display ?></span>

  <span class="product-field-desc"><?php echo $field->custom_field_desc ?></span>
  </div>

  <?php
    
}
  
?>

  </div>
  <?php }
  
/* Product custom Childs
   * to display a simple link use $field->virtuemart_product_id as link to child product_id
   * custom_value is relation value to child
  */
 
  
if (!empty($product->customsChilds)) {  ?>

<div class="product-fields">
  <?php foreach ($product->customsChilds as $field) {  ?>
<div style="display: inline-block; float: right; padding: 3px;" class="product-field product-field-type-<?php echo $field->field->field_type ?>">
  <span class="product-fields-title"><b><?php echo JText::_($field->field->custom_title?></b></span>
  <span class="product-field-desc"><?php echo JText::_($field->field->custom_value?></span>
  <span class="product-field-display"><?php echo $field->display ?></span>

  </div>

  <?php ?>
  </div>
  <?php ?>
<div class="Flexibleaddtocart-bar">

<?php // Display the quantity box ?>
<!-- <label for="quantity<?php echo $this->product->virtuemart_product_id;?>" class="quantity_box"><?php echo JText::_('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> -->
<span class="quantity-box">
<input  type="text" class="quantity-input" name="quantity[]" value="1" />
</span>
<span class="quantity-controls">
<input type="button" class="quantity-controls quantity-plus" />
<input type="button" class="quantity-controls quantity-minus" />
</span>
<?php // Display the quantity box END ?>

  <?php // Add the button
  
$button_lbl JText::_('COM_VIRTUEMART_CART_ADD_TO');
  
$button_cls 'addtocart-button'//$button_cls = 'addtocart_button';
  
$button_name 'addtocart'//$button_cls = 'addtocart_button';
 
 
  // Display the add to cart button
  
$stockhandle VmConfig::get('stockhandle','none');
  if((
$stockhandle=='disableit' or $stockhandle=='disableadd') and ($product->product_in_stock $product->product_ordered)<1){
  
$button_lbl JText::_('COM_VIRTUEMART_CART_NOTIFY');
  
$button_cls 'notify-button';
  
$button_name 'notifycustomer';
  }
  
vmdebug('$stockhandle '.$stockhandle.' and stock '.$product->product_in_stock.' ordered '.$product->product_ordered);
  
?>

  <span class="addtocart-button">
  <?php if ($button_cls == "notify-button") { ?>
         <span class="outofstock"><?php echo JText::_('COM_VIRTUEMART_CART_PRODUCT_OUT_OF_STOCK'); ?></span>

           <?php } else {?>
           <input type="submit" name="<?php echo $button_name ?>" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
        <?php ?>
  </span>
<div class="clear"> </div>
  </label></div>

  <?php // Display the add to cart button END ?>
  <input type="hidden" class="pname" value="<?php echo $product->product_name ?>" />
  <input type="hidden" name="option" value="com_virtuemart" />
  <input type="hidden" name="view" value="cart" />

  <input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>" />
  <?php /** @todo Handle the manufacturer view */ ?>
  <input type="hidden" name="virtuemart_manufacturer_id" value="<?php echo $product->virtuemart_manufacturer_id ?>" />
  <input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>" />
  </form>
        </div>
  <?php }  // Add To Cart Button END ?>
</div>


I hope it will work for you too  8)