Initial commit

This commit is contained in:
Ivan Petrov
2025-12-24 19:19:01 +03:00
commit a7097c6178
19493 changed files with 94306 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<?php $score = intval($variables["score"]); ?>
<ul class="product-wrapper__rating rev-names__rating row align-items-center justify-content-between">
<?php for($i = 1; $i <= 5; $i++) { ?>
<?php if($score >= $i) { ?>
<li><img src="<?= $b->pa_get_assets_dir() ?>main/images/otziv_battery_active.svg" alt="" /></li>
<?php } else { ?>
<li><img src="<?= $b->pa_get_assets_dir() ?>main/images/otziv_battery.svg" alt="" /></li>
<?php } ?>
<?php } ?>
</ul>

View File

@@ -0,0 +1,20 @@
<?php $page = $b->ls_get_key("page"); ?>
<?php $product_category_faq = $page->get_prop_render_value("faq"); ?>
<?php if(!$product_category_faq) return; ?>
<section class="section faq-block faq-block__wrapper">
<div class="container-small">
<h2 class="little faq-block__heading">Часто задаваемые вопросы</h2>
<div class="faq-block__accord faq-accord js-vacAccord">
<?php foreach ($product_category_faq as $key => $faq) { ?>
<div class="faq-accord__item accordion-item">
<div class="accordion-header faq-accord__subheading">
<div><?= $faq["title"]; ?></div>
</div>
<div class="post-content">
<?= $faq["text"]; ?>
</div>
</div>
<?php } ?>
<a class="button-for-more" href="/page/faq/">Показать ещё</a>
</div>
</section>

View File

@@ -0,0 +1,44 @@
<?php $page = $b->ls_get_key("page"); ?>
<?php $images = $page->get_prop_render_value("product_photo_album"); ?>
<?php $main_image = $page->get_prop_render_value("product_photo"); ?>
<div class="product-card__images">
<h4 class="single-prod-descr__title single-prod-descr__title_mobile">
<?= $page->get_item_name(); ?>
</h4>
<div class="swiper product-card__gallery product-card__images swiper-container ">
<div class="swiper-wrapper">
<figure class="product-card__img swiper-slide">
<img src="<?= $main_image; ?>" alt="">
</figure>
<?php foreach ($images as $key => $image) { ?>
<figure class="product-card__img swiper-slide">
<img src="<?= $image["image"]; ?>" alt="">
</figure>
<?php } ?>
</div>
</div>
<div class="product-card__thumbnails card-thumbnails">
<a class="list-digits__arrow card-thumbnails__arrow list-digits__arrow-prev">
<svg class="list-digits__image">
<use xlink:href="<?= $b->pa_get_assets_dir() ?>main/images/icons/sprite.svg#pag-prev"></use>
</svg>
</a>
<div class="swiper product-card__thumbnails-wrapper">
<div class="swiper-wrapper product-card__img__previews">
<figure class="card-thumbnails__img swiper-slide">
<img src="<?= $main_image ?>" alt="">
</figure>
<?php foreach ($images as $key => $image) { ?>
<figure class="card-thumbnails__img swiper-slide">
<img src="<?= $image["image"]; ?>" alt="">
</figure>
<?php } ?>
</div>
</div>
<a class="list-digits__arrow card-thumbnails__arrow list-digits__arrow-next">
<svg class="list-digits__image">
<use xlink:href="<?= $b->pa_get_assets_dir() ?>main/images/icons/sprite.svg#pag-next"></use>
</svg>
</a>
</div>
</div>

View File

@@ -0,0 +1,27 @@
<?php $product_price = number_format($variables["price"], 2, ',', ' '); ?>
<?php if($variables["sale_percent"] > 0) { ?>
<?php $product_sale_price = number_format($variables["price"] * (1 - ($variables["sale_percent"] / 100)), 2, ',', ' '); ?>
<div class="product-wrapper__pricing row align-items-center">
<span class="product-wrapper__prices col-auto">
<p class="product-wrapper__oldprice"><del><?= $product_price; ?> ₽</del></p>
<p class="product-wrapper__newprice"><?= $product_sale_price; ?> ₽</p>
</span>
<div class="product-wrapper__action product-prices__action col-auto">
&nbsp;&nbsp;-<?= $variables["sale_percent"]; ?>
</div>
<button class="product-wrapper__question" aria-label="Задать вопрос" data-popup-open="zayavka"></button>
</div>
<?php } else { ?>
<div class="product-wrapper__pricing row align-items-center">
<span class="product-wrapper__prices col-auto">
<?php if($variables["price"] > 0) { ?>
<p class="product-wrapper__newprice"><?= $product_price; ?> ₽</p>
<?php } else { ?>
<p class="product-wrapper__newprice">по запросу</p>
<?php } ?>
</span>
<button class="product-wrapper__question" aria-label="Задать вопрос" data-popup-open="zayavka"></button>
</div>
<?php } ?>

View File

@@ -0,0 +1,50 @@
<?php
$page = $b->ls_get_key("page");
if (!$page->get_item_parent()) return;
$max_items = 10;
$count_search = new Search(array(
"terms" => array(
"and" => array(
"item_parent" => $page->get_item_parent(),
"item_class" => "Product"
)
),
"limit" => 1
));
$count = $count_search->get_count()->count;
if (!$count) return;
$count = $count - $max_items;
if ($count < $max_items) $count = $max_items;
$search = new Search(array(
"terms" => array(
"and" => array(
"item_parent" => $page->get_item_parent(),
"item_class" => "Product"
)
),
"limit" => $max_items,
"offset" => mt_rand(0, $count)
));
$items = $search->collect();
?>
<?php if(count($items)) { ?>
<section class="section variants">
<div class="container js-tabs-wrapper" tabname="catalog_hot">
<h2 class="variants__heading">Похожие товары</h2>
<article class="variants__products product-list">
<?php foreach ($items as $key => $product) {
$b->template_load("productCategory/product_row.php", array("product" => $product));
} ?>
</article>
</div>
</section>
<?php } ?>

View File

@@ -0,0 +1,47 @@
<?php
$page = $b->ls_get_key("page");
$reviews = $page->get_prop_render_value("reviews");
if(!$reviews || !count($reviews)) return;
?>
<section class="section reviews-block" id="reviews">
<h2 class="little reviews-block__heading">Отзывы наших клиентов</h2>
<h3 class="reviews-block__subheading">
Оценка 5 на основании более чем 300 отзывов
</h3>
<div>
<!-- Slider swiper -->
<article class="reviews-block-art">
<h2 class="little visually-hidden">Отзывы</h2>
<div class="reviews-block__slider reviews-slider swiper swiper-container">
<div class="swiper-wrapper">
<?php foreach ($reviews as $key => $item) {
$review = new Reviews($item["review_id"]);
?>
<div class="swiper-slide reviews-slider__slide rev-slide">
<figure class="rev-slide__image">
<img class="rev-slide__img" src="<?= $review->get_prop_render_value("photo"); ?>" alt=""/>
</figure>
<div class="rev-slide__right">
<div class="rev-slide__top rev-names row align-items-start justify-content-between">
<div class="rev-names__left">
<h3 class="rev-slide__name"><?= $review->get_prop_render_value("name"); ?></h3>
<p class="rev-slide__date"><?= $review->get_prop_render_value("date"); ?></p>
</div>
<?php $b->template_load("reviews/battery.php", array("score" => $review->get_prop_render_value("score"))); ?>
</div>
<div class="rev-slide__text">
<?= $review->get_item_content(); ?>
</div>
</div>
</div>
<?php } ?>
</div>
<div class="swiper-button-prev button-prev-el2"></div>
<div class="swiper-button-next button-next-el2"></div>
</div>
<a class="button-for-more" href="/page/reviews/">Показать ещё</a>
</article>
</div>
</section>

View File

@@ -0,0 +1,5 @@
<?php
$product_price = number_format($variables["price"], 2, ',', ' ');
if($variables["sale_percent"] > 0) echo number_format($variables["price"] * (1 - ($variables["sale_percent"] / 100)), 2, ',', ' ');
else echo $product_price;

View File

@@ -0,0 +1,30 @@
<?php
$page = $b->ls_get_key("page");
$performance = $page->get_prop_render_value("performance");
$automation = $page->get_prop_render_value("automation");
$products_slug = array(...$performance, ...$automation);
$products_slug_array = array();
$products_slug = array_map(function($value) {
return ' `item_slug` = "' . $value["product_slug"] . '" ';
}, $products_slug);
$query = "SELECT * FROM `bive_items` WHERE " . implode(" OR ", $products_slug);
$result = $b->db_query($query, [], true);
?>
<?php if(count($result)) { ?>
<section class="section variants">
<div class="container js-tabs-wrapper" tabname="catalog_hot">
<h2 class="variants__heading">Варианты исполнения</h2>
<article class="variants__products product-list">
<?php foreach ($result as $key => $item) {
$product = new Product($item["item_id"]);
$b->template_load("productCategory/product_row.php", array("product" => $product));
} ?>
</article>
</div>
</section>
<?php } ?>