Price Modifiers FieldType

See also: item options dedicated tag. The dedicated tag does not care about field name, and will output all item options found in your channel entry, regardless of name. The syntax is a bit easier to understand, so we highly recommend skipping right on over to it instead.

See also: price modifiers overview

CartThrob’s price modifiers custom fieldtype is used to display options from configurable products. These modifiers can be no-cost options, or they can add cost to the product. For more information, please see this article on configuring price_modifiers.

Make sure you are using the short name of your price modifiers field. For this example we’re using “price_modifier” as the name of the custom field.

Although the price_modifier “tag” is really a standard channel custom field, we’re treating it like a tag here. You can output some basic information about the structure and content of the price_modifier field.

Table of Contents

Variables

YOUR_FIELD:label

The full name of the price modifier field.

{product_color:label}

YOUR_FIELD:total_results

The total number of options to choose from.

{product_color:total_results}

Variable Pairs

YOUR_FIELD

You can use your item_options field as a variable pair to output your item_options data.

{product_color} {option_value} {option_name} {price} {/product_color}

Conditionals

{if first_row}

Checks to see if this is the first option

{product_color}{if first_row}<select name="item_options[product_color]">{/if}{/product_color}

{if last_row}

Checks to see if this is the last option

{product_color}{if last_row}</select>{/if}{/product_color}

Examples

{exp:channel:entries channel="shirts" }
    {if product_color:total_results}
        {product_color:label} has {product_color:total_results} options available
        {product_color}
            {if first_row}
            <select name="item_options[product_color]">
            {/if}
            <option value="{option_value}">{option_name} $ {price}</option>
            {if last_row}
            </select>
            {/if}
        {/product_color}
        
        <ul>
            {product_color}
                <li>{option_value} {option_name} {price}</li>
            {/product_color}
        </ul>
    {/if}
{/exp:channel:entries}