Used in the ‘specs’ loop to show the individual product detail/spec entry.

shopp('product.spec', '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, HTML markup with the return option

Generates the markup for a product specification entry.


  • content: Displays the content associated with an individual detail entry.
  • delimiter: Default is ,. Multiple spec entries in a product that share the same name are combined into a list separated by the delimiter option.
  • index: Specifies an individual spec if there are multiple specs of the same name
  • name: Displays the name of an individual product detail entry.
  • separator: Default is :. Allows you to specify a separation character, string of characters or HTML markup to use between the name and the content of a product detail entry.

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('product','spec','options…'); ?>

Show Specs in an Unordered List

<?php if (shopp('product','has-specs')): ?>

    <?php while(shopp('product','specs')): ?>
        <strong><?php shopp('product','spec','name'); ?></strong><br />
        <?php shopp('product','spec','content'); ?>
    <?php endwhile; ?>

<?php endif; ?>

### Show an Individual Named Spec

@@@ php
<?php shopp('product','spec','name=Number of Pages'); ?> 

See Also

  1. Just saying there’s a missing inverted comma on line 1 of the “Show Specs in an Unordered List” code.

    April 8th   #

You must be logged in to post a comment.

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