Displays an empty text input box and a button to accept promotional codes and apply them to the cart.

shopp('cart', 'apply-code', '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 string Controls for entering a discount code

Renders HTML markup for entering a discount code into the shopping cart. Typically only used in the cart.php content template.

The markup created by this tag follows this format:

<div class="applycode">
<p class="error">An error message.</p>
<span><input id="discount-code" type="text" name="discount" size="10" value="" /></span>
<span><input id="apply-code" type="submit" name="update" value="Apply Discount" /></span>



  • class: Default is not set. Allows you to specify custom CSS classes to the button element.
  • disabled: Default is not set. A flag value that when included and set to any value (including empty) will disable the button.
  • value: Default is Apply Discount. Set to the text to be used as the text on the button.
  • accesskey: Default is not set. Specify a character (a letter for example) to be used as the button’s accesskey.
  • title: Default is not set. Set the title attribute of the rendered button element.
  • tabindex: Default is not set. Set to a number to set the tab order of the element. When not set, the element will automatically be assigned a tab order by the web browser.

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.


<?php shopp('cart.apply-code'); ?>

Add CSS class and change the label

<?php shopp('cart.apply-code','class=discount-input&value=Apply Discount Code'); ?>

See Also

  1. It is worth mentioning that if there are no available promotions then this function will not output any HTML.

    Also, if you add promotions and then still do not get any HTML output then you will need to reset your shopping session which you can do by going to “”.

    April 23rd   #

You must be logged in to post a comment.

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