parent
69a3325070
commit
8a26495373
@ -1,13 +0,0 @@ |
|||||||
<?php |
|
||||||
use Timber\Timber; |
|
||||||
global $post; |
|
||||||
|
|
||||||
$context = Timber::get_context(); |
|
||||||
|
|
||||||
include_module('shop'); |
|
||||||
include_component('shop', 'reviews'); |
|
||||||
include_component('shop', 'product-card'); |
|
||||||
|
|
||||||
?> |
|
||||||
<?php |
|
||||||
Timber::render('shop/single-product.twig', $context); |
|
@ -1,22 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) { |
|
||||||
exit; |
|
||||||
} |
|
||||||
|
|
||||||
if (is_product()) { |
|
||||||
|
|
||||||
include_module('shop'); |
|
||||||
global $product; |
|
||||||
// Get the product ID |
|
||||||
$product_id = get_the_ID(); |
|
||||||
if ($product_id == 1105){ |
|
||||||
include_component('shop', 'single-product_new'); |
|
||||||
} |
|
||||||
else{ |
|
||||||
// include_component('shop', 'single-product'); |
|
||||||
include_component('shop', 'single-product_new'); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,86 +0,0 @@ |
|||||||
{% set bodyClass = 'bg-white' %} |
|
||||||
{% set mainClass = 'wrapper' %} |
|
||||||
{% extends 'layout.twig' %} |
|
||||||
|
|
||||||
{% block content %} |
|
||||||
|
|
||||||
<div class="breadcrumbs"> |
|
||||||
<a href="/" class="breadcrumbs__item"> |
|
||||||
{{ function('pll_e', 'Главная') }} |
|
||||||
</a> |
|
||||||
<a href="/shop" class="breadcrumbs__item"> |
|
||||||
{{ function('pll_e', 'Продукция') }} |
|
||||||
</a> |
|
||||||
{% if category %} |
|
||||||
<a href="{{ category_link }}" class="breadcrumbs__item"> |
|
||||||
{{ category_title }} |
|
||||||
</a> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="product"> |
|
||||||
<div class="product__header"> |
|
||||||
<h1 class="product__title"> |
|
||||||
{% if category %} |
|
||||||
{{ category.name }} |
|
||||||
{% else %} |
|
||||||
{{ function('pll_e', 'Продукция') }} |
|
||||||
{% endif %} |
|
||||||
</h1> |
|
||||||
|
|
||||||
<button class="button button--gradient button--high button--icon button--filter"> |
|
||||||
{{ function('pll_e', 'Фильтры') }} |
|
||||||
</button> |
|
||||||
</div> |
|
||||||
|
|
||||||
{% if active_filters|length > 0 %} |
|
||||||
<div class="active-filters"> |
|
||||||
{% if active_filters is not empty %} |
|
||||||
<div class="active-filters"> |
|
||||||
{% for filter in active_filters %} |
|
||||||
<span class="active-filter-tag" data-filter-id="{{ filter.id }}" data-filter-slug="{{ filter.slug }}" data-filter-taxonomy="{{ filter.taxonomy }}"> |
|
||||||
{{ filter.name }} × |
|
||||||
</span> |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
<button class="active-filters__clear button button--white"> |
|
||||||
{% if current_lang == 'ru' %}{{ function('pll_e', 'Очистить все') }}{% elseif current_lang == 'en' %}{{ function('pll_e', 'Clear all') }}{% endif %} |
|
||||||
</button> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
<div class="product__main"> |
|
||||||
|
|
||||||
{% if posts|length > 0 %} |
|
||||||
{% for post in posts %} |
|
||||||
|
|
||||||
|
|
||||||
{% set class = post.getTasteClass %} |
|
||||||
{% set section = class ~ ' product-archive-card' %} |
|
||||||
|
|
||||||
<!-- TO_DO (избавиться от wc_get_product) --> |
|
||||||
{% include 'shop/product-card.twig' with {_product : fn('wc_get_product', post.id), section: section} %} |
|
||||||
|
|
||||||
|
|
||||||
{% endfor %} |
|
||||||
{% else %} |
|
||||||
<div class="not-found"> |
|
||||||
<img src="{{ fn('get_template_directory_uri') }}/static/img/sv.svg" alt=""> |
|
||||||
<div class="not-found-title">{{ fn('pll_e', 'coming soon') }}</div> |
|
||||||
<div class="not-found-text">{{ fn('pll_e', 'This item is not on our website yet, but it will be here very soon') }}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="product__footer product__footer--error"> |
|
||||||
{% if posts_per_page < count %} |
|
||||||
<button class="button button--white" id="load-more-products" data-category_id="{{ category_id }}" data-category_type="{{ category_type }}"> |
|
||||||
{{ function('pll_e', 'Загрузить еще') }} |
|
||||||
</button> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
{% endblock %} |
|
@ -1,321 +0,0 @@ |
|||||||
{% set bodyClass = 'bg-white' %} |
|
||||||
{% set mainClass = '' %} |
|
||||||
{% extends 'layout.twig' %} |
|
||||||
|
|
||||||
{% block content %} |
|
||||||
<div class="product-single"> |
|
||||||
<div class="wrapper"> |
|
||||||
<div class="breadcrumbs"> |
|
||||||
<a href="{{ fn('home_url') }}" class="breadcrumbs__item"> |
|
||||||
{{ fn('pll_e', 'Главная') }} |
|
||||||
</a> |
|
||||||
{% set product_categories = post.get_terms('product_cat') %} |
|
||||||
{% if product_categories %} |
|
||||||
{% set category = product_categories[0] %} |
|
||||||
<a href="{{ category.link }}" class="breadcrumbs__item"> |
|
||||||
{{ category.name }} |
|
||||||
</a> |
|
||||||
{% endif %} |
|
||||||
<a href="{{post.link}}" class="breadcrumbs__item"> |
|
||||||
{{post.title}} |
|
||||||
</a> |
|
||||||
</div> |
|
||||||
<div class="product_main {{ post.getTasteClass() }}"> |
|
||||||
<div class="product-info"> |
|
||||||
<h1 class="product-title --pc"> |
|
||||||
{{post.title}} |
|
||||||
</h1> |
|
||||||
<div class="product-contains"> |
|
||||||
<h2 class="product-block-title">{{ fn('pll_e', 'СОСТАВ') }}</h2> |
|
||||||
<div class="product-contains-text">{{ post.getComposition }}</div> |
|
||||||
</div> |
|
||||||
<div class="product-values"> |
|
||||||
<h2 class="product-values-title">{{ fn('pll_e', 'ПИЩЕВАЯ ЦЕННОСТЬ') }}</h2> |
|
||||||
<div class="product-values-list"> |
|
||||||
|
|
||||||
{% set nutritional_value = post.nutritional_value %} |
|
||||||
{% if nutritional_value.protein %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Сырой белок') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.protein}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.fat %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Сырой жир') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.fat}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.fiber %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Сырая клетчатка') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.fiber}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.ash %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Сырая зола') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.ash}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.wat %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Влажность') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.wat}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.calcium %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Кальций') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.calcium}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.phosphorus %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Фосфор') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.phosphorus}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.omega_6 %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Омега 6') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.omega_6}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
{% if nutritional_value.omega_3 %} |
|
||||||
<div class="product-values-item"> |
|
||||||
<div class="product-values-item__name">{{ fn('pll_e', 'Омега 3') }}</div> |
|
||||||
<div class="product-values-item-val">{{nutritional_value.omega_3}}</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
{% set vitamins = post.vitamins %} |
|
||||||
{% if vitamins %} |
|
||||||
<div class="product-vitamins"> |
|
||||||
<div class="product-vitamins-title"> |
|
||||||
{{ fn('pll_e', 'Витамины на кг') }} |
|
||||||
</div> |
|
||||||
<div class="product-vitamins-list"> |
|
||||||
|
|
||||||
{% if vitamins.vitamin_a_me %} |
|
||||||
<div class="product-vitamins-item">A, ME — {{vitamins.vitamin_a_me}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.vitamin_d3_me %} |
|
||||||
<div class="product-vitamins-item">D3, ME — {{vitamins.vitamin_d3_me}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.vitamin_e %} |
|
||||||
<div class="product-vitamins-item">E — {{vitamins.vitamin_e}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.tiamin %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Тиамин') }} — {{vitamins.tiamin}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.riboflavin %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Рибофлавин') }} — {{vitamins.riboflavin}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.pantothenic_acid %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Пантотеновая кислота') }} — {{vitamins.pantothenic_acid}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.niaczin %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Ниацин') }} — {{vitamins.niaczin}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.piridoksin %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Пиридоксин') }} — {{vitamins.piridoksin}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.folic_acid %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Фолиевая кислота') }} — {{vitamins.folic_acid}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.vitamin_b12 %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Витамин B12') }} — {{vitamins.vitamin_b12}}</div> |
|
||||||
{% endif %} |
|
||||||
{% if vitamins.holin %} |
|
||||||
<div class="product-vitamins-item">{{ fn('pll_e', 'Холин') }} — {{vitamins.holin}}</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class="product-show"> |
|
||||||
<div class="product-gallery"> |
|
||||||
<div class="swiper product-gallery__mainSlider"> |
|
||||||
<div class="swiper-wrapper"> |
|
||||||
{% set image_list = post.getImageGallery('full') %} |
|
||||||
{% for image in image_list %} |
|
||||||
<div class="swiper-slide"> |
|
||||||
<img src="{{ image.url }}" alt="{{image.alt}}"> |
|
||||||
</div> |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div thumbsSlider="" class="swiper product-gallery__thumbsSlider"> |
|
||||||
<div class="swiper-wrapper"> |
|
||||||
{% set image_list = post.getImageGallery('medium') %} |
|
||||||
{% for image in image_list %} |
|
||||||
<div class="swiper-slide"> |
|
||||||
<img src="{{ image.url }}" alt="{{image.alt}}"> |
|
||||||
</div> |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
<div class="product-gallery-arrows"> |
|
||||||
<button class="product-gallery-arrow product-gallery-prev"></button> |
|
||||||
<button class="product-gallery-arrow product-gallery-next"></button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class="product-gallery-bullets"></div> |
|
||||||
</div> |
|
||||||
<h1 class="product-title --m"> |
|
||||||
{{post.title}} |
|
||||||
</h1> |
|
||||||
</div> |
|
||||||
<div class="product-constructor"> |
|
||||||
{% set constructor = post.getProductConstructor %} |
|
||||||
{% for taxonomy, attribute_data in constructor %} |
|
||||||
<div class="product-constructor__block"> |
|
||||||
<div class="product-constructor__block-title">{{attribute_data.label}}</div> |
|
||||||
<div class="product-constructor__block-list"> |
|
||||||
{% for option_id, option in attribute_data.options %} |
|
||||||
{% set first_product = option.products[0] %} |
|
||||||
<a href="{{first_product.link}}" class="product-constructor__block-item{% if attribute_data.current_value == option.term_id %} active{% endif %}"> |
|
||||||
{% if taxonomy == 'pa_compound' %} |
|
||||||
{% set icon_map = { |
|
||||||
'govyadina': 'beef', |
|
||||||
'indejka': 'turkey', |
|
||||||
'krolik': 'rabbit', |
|
||||||
'losos': 'salmon', |
|
||||||
'ryba': 'fish', |
|
||||||
'utka': 'duck', |
|
||||||
'yagnenok': 'lamb' |
|
||||||
} %} |
|
||||||
{% set icon_class = icon_map[option.slug] ?? 'default' %} |
|
||||||
<img src="/wp-content/themes/cosmopet/modules/shop/components/single-product_new/assets/img/{{icon_class}}.svg" alt="" class="product-constructor__block-item-icon{% if attribute_data.current_value == option.term_id %} active{% endif %} svg"> |
|
||||||
{% elseif taxonomy == 'pa_age-of-the-dog' %} |
|
||||||
<img src="/wp-content/themes/cosmopet/modules/shop/components/single-product_new/assets/img/dog-face.svg" alt="" class="product-constructor__block-item-icon{% if attribute_data.current_value == option.term_id %} active{% endif %} svg"> |
|
||||||
{% elseif taxonomy == 'pa_age-of-the-cat' %} |
|
||||||
<img src="/wp-content/themes/cosmopet/modules/shop/components/single-product_new/assets/img/cat-face.svg" alt="" class="product-constructor__block-item-icon{% if attribute_data.current_value == option.term_id %} active{% endif %} svg"> |
|
||||||
{% elseif taxonomy == 'pa_reproductive-status' %} |
|
||||||
<img src="/wp-content/themes/cosmopet/modules/shop/components/single-product_new/assets/img/heart.svg" alt="" class="product-constructor__block-item-icon{% if attribute_data.current_value == option.term_id %} active{% endif %} svg"> |
|
||||||
{% elseif taxonomy == 'pa_series' %} |
|
||||||
<img src="/wp-content/themes/cosmopet/modules/shop/components/single-product_new/assets/img/star.svg" alt="" class="product-constructor__block-item-icon{% if attribute_data.current_value == option.term_id %} active{% endif %} svg"> |
|
||||||
{% endif %} |
|
||||||
<div class="product-constructor__block-item-name">{{option.name}}</div> |
|
||||||
</a> |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{% endfor %} |
|
||||||
|
|
||||||
{% set size_siblings = post.getSizeSiblings %} |
|
||||||
{% if size_siblings %} |
|
||||||
<div class="product-constructor__block"> |
|
||||||
<div class="product-constructor__block-title">{{fn('pll_e', 'ВЕС УПАКОВКИ')}}</div> |
|
||||||
<div class="product-constructor__block-list"> |
|
||||||
{% for sibling in size_siblings %} |
|
||||||
<a href="{{sibling.link}}" class="product-constructor__block-item{% if post.get_weight == sibling.get_weight %} active{% endif %}"> |
|
||||||
<div class="product-constructor__block-item-name">{{sibling.get_weight}}</div> |
|
||||||
</a> |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
<div class="product-price"> |
|
||||||
<div class="product-price-main"> |
|
||||||
{{post.getPrice}} |
|
||||||
</div> |
|
||||||
{% if post.getRegularPrice %} |
|
||||||
<div class="product-price-disc"> |
|
||||||
<div class="product-price-old">{{post.getRegularPrice}}</div> |
|
||||||
<div class="product-price-percent"> |
|
||||||
{{ post.getPriceDifferenceInPercent }} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
{% set in_stock = post.meta('_stock_status') == 'instock' %} |
|
||||||
{% if in_stock %} |
|
||||||
{{ function('do_action', 'woocommerce_' ~ product.get_type() ~ '_add_to_cart') }} |
|
||||||
{% else %} |
|
||||||
<div class="detail-block-form__item detail-block-form__item--tn"> |
|
||||||
<button type="button" data-pname="{{ product.title }}" class="to-know open-to-know" > |
|
||||||
<p>{{ function('pll_e', 'Узнать о поступлении') }}</p> |
|
||||||
</button> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="product-desc"> |
|
||||||
<div class="product-block-title"> |
|
||||||
{{ fn('pll_e', 'ОПИСАНИЕ') }} |
|
||||||
</div> |
|
||||||
<div class="product-desc-text"> |
|
||||||
{{post.content}} |
|
||||||
|
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="product-reviews"> |
|
||||||
<div class="product-reviews__head wrapper"> |
|
||||||
<div class="product-block-title"> |
|
||||||
{{ fn('pll_e', 'Отзывы Специалистов') }} |
|
||||||
</div> |
|
||||||
<div class="product-block-arrows"> |
|
||||||
<button class="slider-button-prev slider-button product-reviews-prev"></button> |
|
||||||
<button class="slider-button-next slider-button product-reviews-next"></button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class="product-reviews-slider swiper"> |
|
||||||
<div class="swiper-wrapper"> |
|
||||||
{% for slide in post.getReviews %} |
|
||||||
{% include "shop/reviews-slide_element.twig" with {slide: slide} %} |
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="product-block-arrows--m"> |
|
||||||
<button class="slider-button-prev slider-button product-reviews-prev"></button> |
|
||||||
<button class="slider-button-next slider-button product-reviews-next"></button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
|
|
||||||
{% if post.getRelatedProducts %} |
|
||||||
<div class="product-similar "> |
|
||||||
<div class="product-similar__head wrapper"> |
|
||||||
<div class="product-block-title"> |
|
||||||
{{ fn('pll_e', 'вашему питомцу может понравиться') }} |
|
||||||
</div> |
|
||||||
<div class="product-block-arrows"> |
|
||||||
<button class="slider-button-prev slider-button product-similar-prev"></button> |
|
||||||
<button class="slider-button-next slider-button product-similar-next"></button> |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
<div class="product-similar-slider wrapper"> |
|
||||||
<div class="swiper-wrapper"> |
|
||||||
{% for related_product in post.getRelatedProducts %} |
|
||||||
|
|
||||||
{% set class = related_product.getTasteClass %} |
|
||||||
{% set section = class ~ ' swiper-slide' %} |
|
||||||
|
|
||||||
<!-- TO_DO (избавиться от wc_get_product) --> |
|
||||||
{% include 'shop/product-card.twig' with {_product : fn('wc_get_product', related_product.id), section: section} %} |
|
||||||
|
|
||||||
|
|
||||||
{% endfor %} |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class="product-block-arrows--m"> |
|
||||||
<button class="slider-button-prev slider-button product-similar-prev"></button> |
|
||||||
<button class="slider-button-next slider-button product-similar-next"></button> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{% endif %} |
|
||||||
|
|
||||||
</div> |
|
||||||
{% for slide in reviews %} |
|
||||||
|
|
||||||
{% include 'modal/rewiew_modal.twig' with {slide : slide} %} |
|
||||||
|
|
||||||
{% endfor %} |
|
||||||
{% endblock %} |
|
Loading…
Reference in new issue