price — calculate product price
Attribute | Pos. | Req. | Default | Description |
---|---|---|---|---|
code | Yes | Yes | product SKU. | |
quantity | 1 | quantity | ||
discount | No | Apply discount. | ||
convert | No | Convert the amount according to the PriceDivide value for the current locale. |
||
noformat | Yes | No | No | Output plain number instead of formatting it according to the currency locale? |
display | symbol | Display currency as symbol, text or not at all? | ||
interpolate | 0 | interpolate output? | ||
hide | 0 | Hide the tag return value? |
The tag calculates the price for a specified product and returns it formatted.
The price tag will not apply discounts unless you supply the
discount=1
parameter.
Example: Displaying price for item 1299, with quantity 1 resp. 10
[price 1299] [price code=1299 quantity=10]
Interchange 5.9.0:
Source: code/SystemTag/price.coretag
Lines: 31
# Copyright 2002-2007 Interchange Development Group and others # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. See the LICENSE file for details. # # $Id: price.coretag,v 1.10 2007-03-30 23:40:49 pajamian Exp $ UserTag price Order code UserTag price addAttr UserTag price attrAlias base mv_ib UserTag price attrAlias space discount_space UserTag price PosNumber 1 UserTag price Version $Revision: 1.10 $ UserTag price Routine <<EOR sub { my ($code, $ref) = @_; $ref->{code} ||= $code; my $oldspace; $oldspace = Vend::Interpolate::switch_discount_space($ref->{discount_space}) if defined $ref->{discount_space}; my $amount = Vend::Data::item_price($ref); $amount = discount_price($code, $amount, $ref->{quantity}) if $ref->{discount}; Vend::Interpolate::switch_discount_space($oldspace) if defined $oldspace; return currency( $amount, $ref->{noformat}, undef, $ref ); } EOR