Displays the quantity or donation amount input.

shopp('product', 'quantity', 'options')

@param string $object the object or object.tag combination, if object.tag is used, the tag parameter can be omitted
@param string $tag the tag, can be hyphenated or not. Prefix with 'get' as shorthand for the return=true option
@param mixed $options associative array, or url-style name=value pairs separated by ampersands (&). Each pair is passed to the theme api tag as an option.
@returns void by default, the quantity or donation amount input when return value is used.

Alternative Forms

shopp('product.quantity', 'options');

donation tag is an alias for quantity

shopp('product', 'donation', 'options');


Displays a quantity input that can be displayed as either a text box or a drop-down menu that allows the customer to select a quantity of the product before adding it to their cart.

When using a drop-down menu on products that have limited stock available, the menu is limited to the stock available. In the case of products with variations, the menu is limited to the maximum stock available from any of the variations.

Universal Options

All Theme API calls have these options.

  • return: when set to true, 1, or on, this option forces the tag to return the value instead of displaying/echoing the value to the page. Alternatively, prefix the tag parameter with get to get the same effect. All theme api tags that return a boolean value will return by default.
  • echo: when set to false, 0, or off, this option forces the tag to display the value to the page. This is the default for all non-boolean tags.
  • is: when set to true, 1, or on, this option will evaluate the return of the theme api call as a boolean true or false value. See how values are converted to boolean.


The following options are valid.

  • label: No default setting. Specify a label for the input element.
  • labelpos: Default is before. Can be set to display the label before or after the input element.
  • input: Default is text. Can be set to display the input element as a text field or a menu of options. The built-in templates specify menu.
  • value: Default is 1. Specifies the default or selected value for the input. When the input type is set to text the value option shows as the default value. When the input type is set to menu, the value option specifies the selected option.
  • options: Default is 1-15,20,25,30,35,40,45,50,60,70,80,90,100. Specify the options to display for menu type quantity input. Individual options are specified separated by commas (,). You can also specify a range of options using a number range using dashes #-##.


Quantity Text Input Field

<?php shopp('product','quantity'); ?>

Drop-Down Menu with Custom Options

(1,2,3,4,5,10,15,20,25,50,100) (Defaults to 10)

<?php shopp('product','quantity','input=menu&options=1-5,10,15,20,25,50,100&value=10'); ?>

Donation text input with label

<?php shopp('product','donation','input=text&labelpos=before&label=Donation Amount'); ?>

See Also

You must be logged in to post a comment.

© Ingenesis Limited. Shopp™ is a registered trademark of Ingenesis Limited.

Skip to toolbar