{extends file="layout.tpl"} {block name="init"} {$product_id={product attr="id"}} {$pse_count=1} {$product_virtual={product attr="virtual"}} {$check_availability={config key="check-available-stock" default="1"}} {$pse=[]} {$combination_label=[]} {$combination_values=[]} {$default_pse=[]} {$gtins=[8,12,13,14]} {loop name="pse" type="product_sale_elements" product=$product_id} {if $IS_PROMO} {$finalPrice=$TAXED_PROMO_PRICE} {else} {$finalPrice=$TAXED_PRICE} {/if} {$pse[$ID]=[ "id" => $ID, "isDefault" => $IS_DEFAULT, "isPromo" => $IS_PROMO, "isNew" => $IS_NEW, "ref" => $REF, "ean" => $EAN_CODE, "quantity" => $QUANTITY, "price" => {format_money number=$TAXED_PRICE}, "promo" => {format_money number=$TAXED_PROMO_PRICE}, "finalPrice" => $finalPrice ]} {if $IS_DEFAULT} {$default_pse=$pse[$ID]} {/if} {$pse_combination=[]} {loop name="combi" type="attribute_combination" product_sale_elements="$ID" order="manual"} {if ! $combination_label[$ATTRIBUTE_ID]} {$combination_label[$ATTRIBUTE_ID]=["name" => {$ATTRIBUTE_TITLE}, "values" => []]} {/if} {if ! $combination_values[$ATTRIBUTE_AVAILABILITY_ID]} {$combination_label[$ATTRIBUTE_ID]["values"][]=$ATTRIBUTE_AVAILABILITY_ID} {$combination_values[$ATTRIBUTE_AVAILABILITY_ID]=[{$ATTRIBUTE_AVAILABILITY_TITLE}, $ATTRIBUTE_ID]} {/if} {$pse_combination[]=$ATTRIBUTE_AVAILABILITY_ID} {/loop} {$pse[$ID]["combinations"]=$pse_combination} {$pse_images=[]} {loop name="pse_images" type="product-sale-elements-image" product_sale_elements_id="$ID"} {$pse_images[]=$PRODUCT_IMAGE_ID} {/loop} {$pse[$ID]["images"]=$pse_images} {/loop} {/block} {* Body Class *} {block name="body-class"}page-product{/block} {* Page Title *} {block name='no-return-functions' append} {loop name="product.seo.title" type="product" id=$product_id limit="1" with_prev_next_info="1"} {$page_title = $META_TITLE} {/loop} {/block} {* Meta *} {block name="meta"} {loop name="product.seo.meta" type="product" id=$product_id limit="1" with_prev_next_info="1"} {include file="includes/meta-seo.html"} {/loop} {/block} {* Breadcrumb *} {block name='no-return-functions' append} {$breadcrumbs = []} {loop type="product" name="product_breadcrumb" id=$product_id limit="1" with_prev_next_info="1"} {loop name="category_path" type="category-path" category={$DEFAULT_CATEGORY}} {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL nofilter}]} {/loop} {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL nofilter}]} {/loop} {/block} {* Content *} {block name="main-content"} {if $product_id}
{loop name="product.details" type="product" id=$product_id limit="1" with_prev_next_info="1" with_prev_next_visible="1"}
{* Stock *} {assign var="current_stock_content" value="in_stock"} {assign var="current_stock_href" value="http://schema.org/InStock"} {if ($check_availability != 0 && $VIRTUAL == 0 && $QUANTITY <= 0)} {assign var="current_stock_content" value="out_stock"} {assign var="current_stock_href" value="http://schema.org/OutOfStock"} {/if} {$pse_count=$PSE_COUNT} {* Add custom feature if needed {loop name="isbn.feature" type="feature" product={$ID} title="isbn"} {loop name="isbn.value" type="feature_value" feature={$ID} product=$product_id} {/loop} {/loop} *} {hook name="product.top" product={$ID}} {ifhook rel="product.gallery"} {hook name="product.gallery" product={$ID}} {/ifhook} {elsehook rel="product.gallery"} {/elsehook}
{hook name="product.details-top" product={$ID}}

{$TITLE}

{intl l='Ref.'}: {$default_pse['ref']} {if in_array(strlen($default_pse['ean']), $gtins)}{/if} {loop name="brand_info" type="brand" product={$ID} limit="1"} {assign var="brand_title" value={$TITLE nofilter}}

{$TITLE}

{/loop} {if $POSTSCRIPTUM}

{$POSTSCRIPTUM}

{/if}
{loop type="sale" name="product-sale-info" product={$ID} active="1"}

{$SALE_LABEL}

{intl l="Save %amount%sign on this product" amount={$PRICE_OFFSET_VALUE} sign={$PRICE_OFFSET_SYMBOL}}

{if $HAS_END_DATE}

{intl l="This offer is valid until %date" date={format_date date=$END_DATE output="date"}}

{/if}
{/loop}
{intl l="Availability"}: {intl l='In Stock'} {intl l='Out of Stock'}
{loop type="category" name="category_tag" id=$DEFAULT_CATEGORY} {/loop} {* List of condition : NewCondition, DamagedCondition, UsedCondition, RefurbishedCondition *} {* List of currency : The currency used to describe the product price, in three-letter ISO format. *} {intl l="Special Price:"} {format_money number=$TAXED_PROMO_PRICE symbol={currency attr="symbol"}} {if $SHOW_ORIGINAL_PRICE} {intl l="Regular Price:"} {format_money number=$TAXED_PRICE} {/if}
{form name="thelia.cart.add" }
{form_hidden_fields} {form_field field="append"} {/form_field} {form_field form=$form field="success_url"} {/form_field} {if $form_error}
{$form_error_message}
{/if} {form_field field="product"} {/form_field} {* pse *} {form_field field='product_sale_elements_id'} {/form_field} {if $pse_count > 1} {* We have more than 1 combination: custom form *}
{loop name="attributes" type="attribute" product="$product_id" order="manual"}
{/loop}
{/if}
{form_field field='quantity'}
{if $error } {$message} {elseif $value != "" && !$error} {/if}
{/form_field}
{/form} {hook name="product.details-bottom" product={$ID}}
{strip} {capture "additional"} {ifloop rel="feature_info"} {/ifloop} {/capture} {/strip} {strip} {capture "brand_info"} {loop name="brand_info" type="brand" product={$ID} limit="1"}

{$TITLE}

{loop name="brand.image" type="image" source="brand" id={$LOGO_IMAGE_ID} width=218 height=146 resize_mode="borders"}

{$TITLE}

{/loop} {if $CHAPO}
{$CHAPO}
{/if} {if $DESCRIPTION}
{$DESCRIPTION nofilter}
{/if} {if $POSTSCRIPTUM} {$POSTSCRIPTUM} {/if} {/loop} {/capture} {/strip} {strip} {capture "document"} {ifloop rel="document"} {/ifloop} {/capture} {/strip}
{hookblock name="product.additional" product=$product_id fields="id,class,title,content"}
{$DESCRIPTION|default:'N/A' nofilter}
{if $smarty.capture.additional ne ""}
{$smarty.capture.additional nofilter}
{/if} {if $smarty.capture.brand_info ne ""}
{$smarty.capture.brand_info nofilter}
{/if} {if $smarty.capture.document ne ""}
{$smarty.capture.document nofilter}
{/if} {forhook rel="product.additional"}
{$content nofilter}
{/forhook}
{/hookblock}
{hook name="product.bottom" product={$ID}} {* javascript configuration to display pse *}
{foreach $pse as $pseItem} {if !$pseItem['isDefault']} {if in_array(strlen($pseItem['ean']), $gtins)} {/if} {ifloop rel="additionalProperty"}
{loop name="additionalProperty" type="attribute_combination" product_sale_elements=$pseItem['id'] order="manual"} {/loop}
{/ifloop} {if ($check_availability != 0 && $VIRTUAL == 0 && {$pseItem['quantity']} <= 0)} {else} {/if}
{/if} {/foreach} {/loop}
{else}
{include file="includes/empty.html"}
{/if} {/block} {block name="stylesheet"} {hook name="product.stylesheet"} {/block} {block name="after-javascript-include"} {hook name="product.after-javascript-include"} {/block} {block name="javascript-initialization"} {hook name="product.javascript-initialization"} {/block}