Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {strip}
- {$_is_dialog = $wa->get('cart')}
- {function name=in_stock n=0 low=5 critical=2}
- {if $n > $low or $n === null}
- <div class="stock-info stock-info--item-page stock-info--stock">
- <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-in-stock"></use></svg></span>
- <span class="stock-text">[`In stock`]</span>
- </div>
- {elseif $n > $critical}
- <div class="stock-info stock-info--item-page stock-info--less">
- <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-in-stock"></use></svg></span>
- <span class="stock-text">{* _w("Only %d left in stock", "Only %d left in stock", $n) *}{_w("Only a few items left")}</span>
- </div>
- {elseif $n > 0}
- <div class="stock-info stock-info--item-page stock-info--1">
- <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-in-stock"></use></svg></span>
- <span class="stock-text">{_w("Only %d left in stock", "Only %d left in stock", $n)}</span>
- </div>
- {else}
- <div class="stock-info stock-info--item-page stock-info--not">
- <span class="stock-icon"><svg class="icon" width="10" height="11"><use xlink:href="#icon-in-stock"></use></svg></span>
- <span class="stock-text">{if $wa->shop->settings('ignore_stock_count')}[`Pre-order only`]{else}[`Out of stock`]{/if}</span>
- </div>
- {/if}
- {/function}
- <section class="item-pg__sidebar">
- <div class="item-pg__sidebar-inner">
- <form id="cart-form{if $_is_dialog}-dialog{/if}" data-image="{$wa->shop->productImgUrl($product, "96x96")|default:"`$wa_parent_theme_url`img/dummy200.png"}" method="post" action="{$wa->getUrl('/frontendCart/add')}">
- <div class="item-sidebar__top">
- <h3 class="item-sidebar__title" data-title="{$product.name|escape}">{sprintf('[`Buy %s`]',$product.name|escape)}</h3>
- {if $product.summary && !$_is_dialog && $theme_settings.shop_productpage_show_summary}<div class="item-sidebar__descr">{$product.summary}</div>{/if}
- <div class="item-sidebar__price">
- <div class="price-text">[`Price`]</div>
- <div class="price__wrapper">
- <div class="item-price">
- <div class="item-price__num"> <span class="price-number s-product-price">{shop_currency_html($product.price)}</span></div>
- </div>
- {if $theme_settings.products_show_economy}
- {include file="inc/product.saving.html" product=$product show_anyway=1}
- {/if}
- {if $product.compare_price > 0}
- <div class="item-price item-price--old">
- <div class="item-price__num"> <span class="price-number s-product-oldprice">{shop_currency_html($product.compare_price)}</span></div>
- </div>
- {/if}
- </div>
- </div>
- {if isset($product.skus) && count($product.skus) == 1}
- {$sku = $product.skus[$product.sku_id]}
- {if $sku.sku}<div class="cat-item__sku"><span>Артикул: {$sku.sku|escape}</span></div>{/if}
- {/if}
- </div>
- <div class="item-sidebar__stock">
- {foreach $product.skus as $sku}
- {if $sku.stock}
- {foreach $stocks as $stock_id => $stock}
- <div class="sidebar__stock-wrapper sku-{$sku.id}-stock"{if $sku.id != $product.sku_id} style="display:none"{/if} data-sku-count="{$sku.count}">
- {if isset($sku.stock[$stock_id])}
- {$stock_count = $sku.stock[$stock_id]}
- {else}
- {$stock_count = null}
- {/if}
- <div class="stock-text stock-text--place">{$stock.name|escape}</div>
- {in_stock n=$stock_count low=$stock.low_count critical=$stock.critical_count}<br>
- </div>
- {/foreach}
- {else}
- <div class="sidebar__stock-wrapper sku-{$sku.id}-stock"{if $sku.id != $product.sku_id} style="display:none"{/if} data-sku-count="{$sku.count}">
- {in_stock n=$sku.count}
- </div>
- {/if}
- {/foreach}
- {if $product.sku_type}
- <div class="sku-no-stock" style="display:none;">
- <strong class="stock-none stock-info--not">[`Product with the selected option combination is not available for purchase`]</strong>
- </div>
- {/if}
- </div>
- {if $services || ($product.sku_type || count($product.skus)>1)}
- <div class="item-sidebar__options">
- {if $product.sku_type}
- {$default_sku_features = $product.sku_features}
- {$product_available = $product.status}
- {* list all SKUs for Schema.org markup *}
- {foreach $product.skus as $sku}
- <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
- {$sku_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
- {if $sku.name}<meta itemprop="name" content="{$sku.name|escape}">{/if}
- <meta itemprop="price" content="{$sku.price}">
- <meta itemprop="priceCurrency" content="{$product.currency}">
- {if (!($sku.count === null) && $sku.count <= 0)}
- <link itemprop="availability" href="http://schema.org/OutOfStock" />
- {else}
- <link itemprop="availability" href="http://schema.org/InStock" />
- {/if}
- </div>
- {/foreach}
- {foreach $features_selectable as $f}
- <div class="options__wrapper">
- <div class="options__head">
- <h3 class="options__title">{$f.name|escape}</h3>
- <a class="options__mobile-toggle" href="#"><span class="icon-options-toogle"></span><span class="icon-options-toogle"></span></a>
- </div>
- <div class="options__content">
- {if $f.type == 'color'}
- <ul class="options__color-list">
- {foreach $f.values as $v_id => $v}
- {if !isset($default_sku_features[$f.id])}{$default_sku_features[$f.id]=$v_id}{/if}
- <li class="options__color-item tooltip-container{if $v_id == ifset($default_sku_features[$f.id])} active{/if}" style="{$v->style}" data-sku-id="{$f.id}:{$v_id};" data-value="{$v_id}">
- <span class="options__color-text">{strip_tags($v)}</span>
- <div class="tooltip-content">{strip_tags($v)}</div>
- </li>
- {/foreach}
- </ul>
- <input type="hidden" data-feature-id="{$f.id}" class="sku-feature" name="features[{$f.id}]" value="{ifset($default_sku_features[$f.id])}">
- {else}
- <div class="options__buttons">
- <ul class="options__buttons-list">
- {foreach $f.values as $v_id => $v}
- {if !isset($default_sku_features[$f.id])}{$default_sku_features[$f.id]=$v_id}{/if}
- <li class="options__buttons-item{if $v_id == ifset($default_sku_features[$f.id])} active{/if}" data-sku-id="{$f.id}:{$v_id};" data-value="{$v_id}"><a class="options__buttons-link" href="#">{$v}</a></li>
- {/foreach}
- </ul>
- <input type="hidden" data-feature-id="{$f.id}" class="sku-feature" name="features[{$f.id}]" value="{ifset($default_sku_features[$f.id])}">
- </div>
- {/if}
- </div>
- </div>
- {/foreach}
- {else}
- {$product_available = false}
- {if count($product.skus) > 1}
- <div class="options__wrapper">
- <div class="options__content">
- <ul class="options__form-list skus">
- {foreach $product.skus as $sku}
- {$sku_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
- <li class="options__form-item" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
- <label class="form-label--radio{if !$sku.available} disabled{/if}">
- <input name="sku_id" type="radio" value="{$sku.id}"{if !$sku.available} disabled="true"{/if}{if !$sku_available}data-disabled="1"{/if}{if $sku.id == $product.sku_id} checked="checked"{/if} data-compare-price="{shop_currency($sku.compare_price, $product.currency, null, 0)}" data-price="{shop_currency($sku.price, $product.currency, null, 0)}"{if $sku.image_id} data-image-id="{$sku.image_id}"{/if}>
- <span class="label-text" itemprop="name">{$sku.name|escape}</span>
- <meta itemprop="price" content="{$sku.price}">
- <meta itemprop="priceCurrency" content="{$product.currency}">
- {if (!($sku.count === null) && $sku.count <= 0)}
- <link itemprop="availability" href="http://schema.org/OutOfStock" />
- {else}
- <link itemprop="availability" href="http://schema.org/InStock" />
- {/if}
- </label>
- </li>
- {$product_available = $product_available or $sku_available}
- {/foreach}
- </ul>
- </div>
- </div>
- {else}
- <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
- {$sku = $product.skus[$product.sku_id]}
- {if $sku.name}<meta itemprop="name" content="{$sku.name|escape}">{/if}
- <meta itemprop="price" content="{$sku.price}">
- <meta itemprop="priceCurrency" content="{$product.currency}">
- {if !$sku.available}
- <link itemprop="availability" href="http://schema.org/Discontinued" />
- <p><em class="bold error">[`This product is not available for purchase`]</em></p>
- {elseif !$wa->shop->settings('ignore_stock_count') && !($sku.count === null || $sku.count > 0)}
- <link itemprop="availability" href="http://schema.org/OutOfStock" />
- {else}
- <link itemprop="availability" href="http://schema.org/InStock" />
- {/if}
- <input name="sku_id" type="hidden" value="{$product.sku_id}">
- {$product_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
- </div>
- {/if}
- {/if}
- {if $services}
- <div class="options__wrapper options__wrapper--extra">
- <div class="options__content options__content--extra">
- {foreach $services as $s}
- <div class="options__content--extra-item service-{$s.id}">
- <label class="form-label--checkbox">
- <input data-price="{shop_currency($s.price, $s.currency, null, 0)}" {if !$product_available}disabled="disabled"{/if} type="checkbox" name="services[]" value="{$s.id}">
- <span class="label-text">{$s.name|escape}{if $s.price && !isset($s.variants)} (+<span>{shop_currency_html($s.price, $s.currency)}</span>){/if}</span>
- </label>
- {if isset($s.variants)}
- <select data-variant-id="{$s.variant_id}" class="service-variants" name="service_variant[{$s.id}]" disabled>
- {foreach $s.variants as $v}
- <option {if $s.variant_id == $v.id}selected{/if} data-price="{shop_currency($v.price, $s.currency, null, 0)}" value="{$v.id}">{$v.name|escape} (+{shop_currency($v.price, $s.currency)})</option>
- {/foreach}
- </select>
- {else}
- <input type="hidden" name="service_variant[{$s.id}]" value="{$s.variant_id}">
- {/if}
- </div>
- {/foreach}
- </div>
- </div>
- {/if}
- </div>
- {else}
- <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
- {$sku = $product.skus[$product.sku_id]}
- {if $sku.name}<meta itemprop="name" content="{$sku.name|escape}">{/if}
- <meta itemprop="price" content="{$sku.price}">
- <meta itemprop="priceCurrency" content="{$product.currency}">
- {if !$sku.available}
- <link itemprop="availability" href="http://schema.org/Discontinued" />
- <p><em class="bold error">[`This product is not available for purchase`]</em></p>
- {elseif !$wa->shop->settings('ignore_stock_count') && !($sku.count === null || $sku.count > 0)}
- <link itemprop="availability" href="http://schema.org/OutOfStock" />
- {else}
- <link itemprop="availability" href="http://schema.org/InStock" />
- {/if}
- <input name="sku_id" type="hidden" value="{$product.sku_id}">
- {$product_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
- </div>
- {/if}
- <div class="item-sidebar__action">
- <div class="item-sidebar__order-btns">
- <input type="hidden" name="product_id" value="{$product.id}">
- <button type="submit" class="uni-btn uni-btn--red{if $theme_settings.shop_productpage_hide_if_sold} uni-btn__hide-disabled{/if}"{if !$product_available} disabled="disabled"{/if}>добавить в корзину<span class="hover-anim"></span></button>
- {if !$_is_dialog}
- <!-- plugin hook: 'frontend_product.cart' -->
- {* @event frontend_product.%plugin_id%.cart *}
- {foreach $frontend_product as $_}{$_.cart}{/foreach}
- {/if}
- </div>
- {if !empty($theme_settings.shop_productpage_phone)}
- <div class="item-sidebar__phone">
- <div class="phone-text">[`Order by phone`]</div>
- <div class="phone-number">{$theme_settings.shop_productpage_phone}</div>
- </div>
- {/if}
- {if !$_is_dialog}
- <!-- plugin hook: 'frontend_product.block_aux' -->
- {* @event frontend_product.%plugin_id%.block_aux *}
- {if !empty($frontend_product)}
- <div class="aux">
- {foreach $frontend_product as $_}{$_.block_aux}{/foreach}
- </div>
- {/if}
- <div class="item-sidebar__action-btns">
- <div class="item-user-actions">
- {if $theme_settings.products_show_compare eq "all" || ($theme_settings.products_show_compare eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
- {$compare = explode(",",waRequest::cookie('shop_compare'))}
- <a class="action-button action-button--add-compare btn-compare-{$product.id}{if in_array($product.id,$compare)} active{/if}" href="#" data-url="{$wa->getUrl('/frontend/compare/', ['id' => implode(',', $compare) ])}" data-product="{$product.id}">
- <span class="action-icon action-icon--compare">
- <svg class="icon-default icon-compare" width="19" height="16"><use xlink:href="#icon-compare"></use></svg>
- <svg class="icon-for-active icon-compare-pressed" width="19" height="16"><use xlink:href="#icon-compare-pressed"></use></svg>
- </span>
- <span class="action-text">[`Compare`]</span>
- <span class="tooltip-content tooltip-content--default">[`Add to comparison table`]</span>
- <span class="tooltip-content tooltip-content--active">[`Remove from comparison table`]</span>
- </a>
- {/if}
- {if $theme_settings.products_show_wishlist eq "all" || ($theme_settings.products_show_wishlist eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
- {$theme_favorite = explode(",",waRequest::cookie('shop_favorite'))}
- <a class="action-button action-button--add-fav btn-fav-{$product.id}{if in_array($product.id,$theme_favorite)} active{/if}" href="#" data-product="{$product.id}">
- <span class="action-icon action-icon--fav">
- <svg class="icon-default icon-favorite" width="16" height="15"><use xlink:href="#icon-fav"></use></svg>
- <svg class="icon-for-active icon-fav-pressed" width="16" height="15"><use xlink:href="#icon-fav-pressed"></use></svg>
- </span>
- <span class="action-text">[`Favorites`]</span>
- <span class="tooltip-content tooltip-content--default">[`Add to favorites`]</span>
- <span class="tooltip-content tooltip-content--active">[`Remove from favorites`]</span>
- </a>
- {/if}
- </div>
- </div>
- {/if}
- </div>
- </form>
- </div>
- {if !$_is_dialog}
- <!-- plugin hook: 'frontend_product.block' -->
- {* @event frontend_product.%plugin_id%.block *}
- {foreach $frontend_product as $_}{$_.block}{/foreach}
- {include file="product.features.html" inline}
- {/if}
- </section>
- <script>
- ( function($) {
- var is_product_exist = (typeof Product === "function");
- (!is_product_exist) ? $.getScript("{$wa_theme_url}js/product.js?v{$wa_theme_version}", initProduct) : initProduct();
- function initProduct() {
- new Product({
- $form: $("#cart-form{if $_is_dialog}-dialog{/if}"),
- is_dialog: {if $_is_dialog}true{else}false{/if},
- saving: {if $theme_settings.products_show_economy}true{else}false{/if},
- saving_min: {$theme_settings.products_show_economy_min|default:101},
- saving_rounding: "{$theme_settings.products_show_economy_rounding_type}",
- currency: {json_encode($currency_info)},
- services: {if count($product.skus) > 1 or $product.sku_type}{json_encode($sku_services)}{else}false{/if},
- features: {if $product.sku_type}{json_encode($sku_features_selectable)}{else}false{/if}
- });
- }
- })(jQuery);
- </script>
- {/strip}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement