- Documentation >
- Guide >
- Shop process >
- Pricing >
- Price templates
Price templates
| Path |
Description |
Catalog/Subrequests/product.html.twig |
Renders the price on product detail page. Defines the parameters for price rendering and includes the product_price.html.twig template. |
Catalog/listProductNode.html.twig |
Renders the price on product list page. Defines the parameters for price rendering and includes the product_price.html.twig template. |
Catalog/Subrequests/product_price.html.twig |
Displays a label with the price type (e.g. list price) and the price source (e.g. ERP). Includes PriceField.html.twig to render the price. |
Fieldtypes/PriceField.html.twig |
Renders the given price from a catalog element. |
Custom Twig functions
| Twig filter |
Description |
Usage |
shipping |
Gets a list of shipping costs from the basket |
{% set shippingCosts = basket|shipping %} |
basket_discounts |
Gets a list of discounts from the basket |
{% set discounts = basket|basket_discounts %} |
basket_add_costs |
Gets a list of additional costs from the basket |
{% set addCosts = basket|basket_add_costs %} |
basket_add_lines |
Gets a list of additional lines from the basket |
{% set addLines = basket|basket_add_lines %} |
| Twig function |
Description |
Usage |
price_format |
Formats a price value |
{{ priceValue|price_format(currency, locale) }} |
ses_render_price |
Renders a PriceField from a catalog element |
{{ ses_render_price(catalogElement, minPrice, { 'outputPrice': {'cssClass': 'price price_med'} }) }} |
PriceField rendering
The customerPrice of a catalog element is an instance of PriceField.
Render it using the ses_render_field() Twig function:
| {{ ses_render_field(catalogElement, 'customerPrice') }}
|
The following optional rendering parameters are available:
outputPrice
outputPrice enables actions on the output of the price value.
| Parameter |
Description |
Default |
id |
Optional string with ID to use for price |
"" (undefined) |
cssClass |
Optional string with CSS class(es) to use for price |
"" (undefined) |
locale |
Two-digit locale code (e.g.: "en", "us", "de") |
"en" |
currency |
Three-digit currency code (e.g.: EUR, GBP, USD) |
price.currency |
property |
Property of price field used for the output value |
price.price |
raw |
If true, price is output without any HTML tags |
false (undefined) |
vatLabel
vatLabel enables actions on the optional VAT label.
| Parameter |
Description |
Default |
id |
Optional string with ID to use for VAT label |
"" (undefined) |
show |
If true, VAT label is shown |
false (undefined) |
cssClass |
Optional string with CSS class(es) to use for VAT label |
"" (undefined) |
text |
Override of the output text |
Default text depending on price.isVatPrice ("Including VAT" or "Excluding VAT") |
raw |
If true, VAT label is output without any HTML tags |
false (undefined) |
schema
schema enables outputting schema information.
If set, schema itemprop="price" is used:
| <span itemprop="price" content="1865.00">1.865,00 €</span>
|
The following example outputs the value of the priceExclVat property from the price field in German standard format (locale: de),
with enforced use of the Euro sign (currency: EUR).
The CSS class price_med is added to the price <p> tag.
A VAT label is shown below the price (show: true) with defined text Excluding VAT and CSS classes price_info and smaller added to the VAT <p> tag:
| {{ ses_render_field(
catalogElement,
'customerPrice',
{
'outputPrice': {'property': 'priceExclVat', 'cssClass': 'price_med', 'currency': 'EUR', 'locale': 'de'},
'vatLabel': {'show': true, 'cssClass': 'price_info smaller', 'text': 'Excluding VAT'|trans}
}
)
}}
|