简体   繁体   中英

Virtuemart Add To Cart button on browse page for Virtuemart 2/Joomla 2.5.4

I've tried to figure out how to do this but just can't work it out, I've tried searching on here, Google and through the Virtuemart forums to no success.

I'm trying to display the Add To Cart button that is on the Product Details page on the Category browse page. I did this previously in Virtuemart 1.1 by using the following code:

<?php echo $form_addtocart ?>

However upon trying to use this same code in Virtuemart 2 I am getting no result, even though their guide still states this as far as I can see: http://virtuemart.net/documentation/Developer_Manual/Modifying_the_Layout.html

I have tried copying the exact code from the products page but that doesn't work either, the code is:

<?php
// Add To Cart Button
if (!VmConfig::get('use_as_catalog', 0) and !empty($this->product->prices)) {
echo $this->loadTemplate('addtocart');
}  // Add To Cart Button END
?>

The files I am overriding are located at:

/components/com_virtuemart/views/category/tmpl/default.php (the Category template)
/components/com_virtuemart/views/productdetails/tmpl/default.php (the Product page that the button is from)

=====

Apologies if I am overlooking something simple or if I have left out any necessary information.

Regards, alexnire.

With VM, it could be a ton of things. If you don't have a debugging tool, just add these lines to see if the conditions are being met (as mentioned by Damien):

echo "vmConfig says: |".VmConfig::get('use_as_catalog', 0)."|";
echo ", Product has prices?: |".$this->product->prices."|";
// Add To Cart Button
if (!VmConfig::get('use_as_catalog', 0) and !empty($this->product->prices)) {
    echo $this->loadTemplate('addtocart');
}  // Add To Cart Button END

If both come back as true, then it's the template for the addtocart button.

(example: default_products.php ) This will add the 'add to cart button'

<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $product->virtuemart_product_id ?>">
        <?php // Product custom_fields
        if (!empty($product->customfieldsCart)) {  ?>
        <div class="product-fields">
            <?php foreach ($product->customfieldsCart as $field)
            { ?><div style="display:inline-block;" 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 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><br/ >
                <?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($this->product->customsChilds)) {  ?>
            <div class="product-fields">
                <?php foreach ($this->product->customsChilds as $field) {  ?>
                    <div style="display:inline-block;" 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><br/ >
                    <?php
                } ?>
            </div>
        <?php } ?>

            <div class="addtocart-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 = ''; //$button_cls = 'addtocart_button';
                if (VmConfig::get('check_stock') == '1' && !$this->product->product_in_stock) {
                    $button_lbl = JText::_('COM_VIRTUEMART_CART_NOTIFY');
                    $button_cls = 'notify-button';
                } ?>

                <?php // Display the add to cart button ?>
                <span class="addtocart-button">
                    <input type="submit" name="addtocart"  class="addtocart-button" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
                </span>

            <div class="clear"></div>
            </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" />
            <noscript><input type="hidden" name="task" value="add" /></noscript>
            <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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM