Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] Рекомендуемые рандомно


ingenerks

Recommended Posts

Рекомендуемые рандомно


Рекомендуемые рандомно


Есть дополнение которые выводит в модуле акций рандомно товары http://www.opencart....29#.UTfDtlc50qI то есть при каждом обновлении, новые акционные товары. На его базе сделал вкмод, для рекомендуемых. То есть каждый новый пользователь, зашедший на сайт, будит видеть новые рекомендуемые товары, или при перезагрузке страницы.

Как настраивать.:

-заходим в админку в модуль рекомендуемые.

-выбираем товары.

-далее в первом окне ставим лимит на количество товаров, во втором сколько товаров показывать в модуле.

-указываем где выводить модуль (схему) и сохраняем.

Теперь рекомендуемые товары будут выносится рандомно.

Может кому-то пригодится!


 

  • +1 3
Надіслати
Поділитися на інших сайтах

Требовалось для частного случая, решил поделится, может кому-то понадобится!

  • +1 2
Надіслати
Поділитися на інших сайтах

Я это вовсе не к тому, что ваше дополнение плохое icon_e_smile.gif Просто многие используют рекомендуемые товары вовсе не по прямому назначению (например, к телефону можно советовать карту памяти или там чехол), а чисто для перелинковки страниц товаров, и вот в таких случаях частое изменение взаимной перелинковки может навредить. Но с другой стороны, те, кто продают гуглу, а не покупателям, долго не задерживаются на рынке

Надіслати
Поділитися на інших сайтах

судя по тому что там xml файл - это для vqmod...

http://www.opencart....29#.UTfDtlc50qI

ну да)

только автору незачет, ибо в оригинальной теме есть много файлов для разных версий магазина)) можно было бы и отсортировать тут) ибо непонятно для какой версии он выложил

Надіслати
Поділитися на інших сайтах


Аффтар как добавлять то?

Вверху писал как добавлять

-заходим в админку в модуль рекомендуемые.

-выбираем товары.

-далее в первом окне ставим лимит на количество товаров, во втором сколько товаров показывать в модуле.

-указываем где выводить модуль (схему) и сохраняем.

  • +1 2
Надіслати
Поділитися на інших сайтах

  • 2 months later...
  • 6 months later...

Не работает на v1.5.5.1 В админке появляется дополнительное окно, но случайным образом так и не показывает. Цитата "в первом окне ставим лимит на количество товаров" - но почему-то в первом окне устанавливается сколько отображать товара на странице, а второе просто бесполезное.  Пытался менять значения в обоих окнах, но эффекта нет, показывает в строгой последовательности.  

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Не работает на v1.5.5.1 В админке появляется дополнительное окно, но случайным образом так и не показывает. Цитата "в первом окне ставим лимит на количество товаров" - но почему-то в первом окне устанавливается сколько отображать товара на странице, а второе просто бесполезное.  Пытался менять значения в обоих окнах, но эффекта нет, показывает в строгой последовательности.  

Для 1.5.5.1

В catalog/controller/module/featured.php перед строкой 21

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем функцию перемешивания массива в случайном порядке 

shuffle ($products);

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах


 

Для 1.5.5.1

В catalog/controller/module/featured.php перед строкой 21

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем функцию перемешивания массива в случайном порядке 

shuffle ($products);

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

 

Спасибо, отлично помогло даже без данного модуля. Если увижу решение по акциям сразу сообщу.

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

Может есть ЦЕНА вопроса за решение?

skype: El-Art.pro

Надіслати
Поділитися на інших сайтах


Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']

заменить на

'limit' => ($setting['limit'] * 10)

найти

$results = $this->model_catalog_product->getProductSpecials($data);

добавить после

srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
  • +1 1
Надіслати
Поділитися на інших сайтах

Спасибо, Tom!

---

Вычитал в яндексе: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

 

Так что эту строку можно удалить - srand((float)microtime() * 1000000);

---

Сразу видно, бывалый кодер!  B) 

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']
заменить на

'limit' => ($setting['limit'] * 10)
найти

$results = $this->model_catalog_product->getProductSpecials($data);
добавить после

shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

Вот это реальная работающая штука для любых модулей - Акции, Рекомендуемые и прочее. Нужно только учитывать разные переменные.

Надіслати
Поділитися на інших сайтах


 

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']

заменить на

'limit' => ($setting['limit'] * 10)

найти

$results = $this->model_catalog_product->getProductSpecials($data);

добавить после

srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

 

Супер, спасибо помогло!)))

На версии 1.5.5.1

Надіслати
Поділитися на інших сайтах


  • 1 month later...

 

Для 1.5.5.1

В catalog/controller/module/featured.php перед строкой 21

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем функцию перемешивания массива в случайном порядке 

shuffle ($products);

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

 

 

 

Все великолепно работает, но есть маленький недостаток. Если установить отображать на странице 6 товаров (лимит), то показывает товары не все 6, а случайным числом. Один раз 4, во второй 6, в третий 5, потом снова 6. Иногда 3, но менее трех еще не видел. Функция shuffle ($products); должна перемещать товары и вывести случайные 6 штук, а не любое количество до 6 (до лимита). Буду очень признателен если подскажите как сделать стабильное количество отображаемых товаров. Заранее большое спасибо.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

 

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']

заменить на

'limit' => ($setting['limit'] * 10)

найти

$results = $this->model_catalog_product->getProductSpecials($data);

добавить после

srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

 

А не подскажите - как такое реализовать для Рекомендуемых из Осshор модуля Табы..?

Надіслати
Поділитися на інших сайтах


Нет  под рукой,что бы посмотреть...

 

catalog\controller\module\product_tab.php

class ControllerModuleProductTab extends Controller {

protected function index($setting) {

static $module = 0;

$this->language->load('module/product_tab');

$this->data['heading_title'] = $this->language->get('heading_title');

$this->document->addScript('catalog/view/javascript/jquery/tabs.js');

$this->data['tab_latest'] = $this->language->get('tab_latest');

$this->data['tab_featured'] = $this->language->get('tab_featured');

$this->data['tab_bestseller'] = $this->language->get('tab_bestseller');

$this->data['tab_special'] = $this->language->get('tab_special');

$this->data['button_cart'] = $this->language->get('button_cart');

$this->load->model('catalog/product');

$this->load->model('tool/image');

//Latest Products

$this->data['latest_products'] = array();

$latest_results = $this->model_catalog_product->getLatestProducts($setting['limit']);

foreach ($latest_results as $result) {

if ($result['image']) {

$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$price = false;

}

if ((float)$result['special']) {

$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$special = false;

}

if ($this->config->get('config_review_status')) {

$rating = $result['rating'];

} else {

$rating = false;

}

$stickers = $this->getStickers($result['product_id']) ;

$this->data['latest_products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

}

//Specials product

$this->data['special_products'] = array();

$special_data = array(

'sort' => 'pd.name',

'order' => 'ASC',

'start' => 0,

'limit' => $setting['limit']

);

$special_results = $this->model_catalog_product->getProductSpecials($special_data);

foreach ($special_results as $result) {

if ($result['image']) {

$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$price = false;

}

if ((float)$result['special']) {

$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$special = false;

}

if ($this->config->get('config_review_status')) {

$rating = $result['rating'];

} else {

$rating = false;

}

$stickers = $this->getStickers($result['product_id']) ;

$this->data['special_products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

}

//BestSeller

$this->data['bestseller_products'] = array();

$bestseller_results = $this->model_catalog_product->getBestSellerProducts($setting['limit']);

foreach ($bestseller_results as $result) {

if ($result['image']) {

$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$price = false;

}

if ((float)$result['special']) {

$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));

} else {

$special = false;

}

if ($this->config->get('config_review_status')) {

$rating = $result['rating'];

} else {

$rating = false;

}

$stickers = $this->getStickers($result['product_id']) ;

$this->data['bestseller_products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

}

//Featured

$this->data['featured_products'] = array();

$products = explode(',', $this->config->get('featured_product'));

if (empty($setting['limit'])) {

$setting['limit'] = 5;

}

$products = array_slice($products, 0, (int)$setting['limit']);

foreach ($products as $product_id) {

$product_info = $this->model_catalog_product->getProduct($product_id);

if ($product_info) {

if ($product_info['image']) {

$image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

} else {

$price = false;

}

if ((float)$product_info['special']) {

$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));

} else {

$special = false;

}

if ($this->config->get('config_review_status')) {

$rating = $product_info['rating'];

} else {

$rating = false;

}

$stickers = $this->getStickers($product_info['product_id']) ;

$this->data['featured_products'][] = array(

'product_id' => $product_info['product_id'],

'thumb' => $image,

'name' => $product_info['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']),

);

}

}

$this->data['module'] = $module++;

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/product_tab.tpl')) {

$this->template = $this->config->get('config_template') . '/template/module/product_tab.tpl';

} else {

$this->template = 'default/template/module/product_tab.tpl';

}

$this->render();

}

private function getStickers($product_id) {

$stickers = $this->model_catalog_product->getProductStickerbyProductId($product_id) ;

if (!$stickers) {

return;

}

$this->data['stickers'] = array();

foreach ($stickers as $sticker) {

$this->data['stickers'][] = array(

'position' => $sticker['position'],

'image' => HTTP_SERVER . 'image/' . $sticker['image']

);

}

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/stickers.tpl')) {

$this->template = $this->config->get('config_template') . '/template/product/stickers.tpl';

} else {

$this->template = 'default/template/product/stickers.tpl';

}

return $this->render();

}

}

?>

Змінено користувачем Kyuzo
Надіслати
Поділитися на інших сайтах


<?php
class ControllerModuleProductTab extends Controller {
 
protected function index($setting) {
 
static $module = 0;
 
$this->language->load('module/product_tab');
 
$this->data['heading_title'] = $this->language->get('heading_title');
 
$this->document->addScript('catalog/view/javascript/jquery/tabs.js');
 
$this->data['tab_latest'] = $this->language->get('tab_latest');
$this->data['tab_featured'] = $this->language->get('tab_featured');
$this->data['tab_bestseller'] = $this->language->get('tab_bestseller');
$this->data['tab_special'] = $this->language->get('tab_special');
 
 
$this->data['button_cart'] = $this->language->get('button_cart');
 
$this->load->model('catalog/product');
 
$this->load->model('tool/image');
 
//Latest Products
 
$this->data['latest_products'] = array();
 
$latest_results = $this->model_catalog_product->getLatestProducts($setting['limit']);
 
//ADD
srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
//END
 
foreach ($latest_results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}
 
if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}
 
if ($this->config->get('config_review_status')) {
$rating = $result['rating'];
} else {
$rating = false;
}
 
$stickers = $this->getStickers($result['product_id']) ;
 
$this->data['latest_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
 
//Specials product
 
$this->data['special_products'] = array();
 
$special_data = array(
'sort' => 'pd.name',
'order' => 'ASC',
'start' => 0,
'limit' => $setting['limit']
);
 
 
 
$special_results = $this->model_catalog_product->getProductSpecials($special_data);
 
//ADD 
srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
//END
 
foreach ($special_results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}
 
if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}
 
if ($this->config->get('config_review_status')) {
$rating = $result['rating'];
} else {
$rating = false;
}
 
$stickers = $this->getStickers($result['product_id']) ;
 
$this->data['special_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
 
//BestSeller
$this->data['bestseller_products'] = array();
 
//$bestseller_results = $this->model_catalog_product->getBestSellerProducts($setting['limit']);
 
//Add 
$bestseller_results = $this->model_catalog_product->getBestSellerProducts($setting['limit'] * 10);
srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
//END
 
foreach ($bestseller_results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}
 
if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}
 
if ($this->config->get('config_review_status')) {
$rating = $result['rating'];
} else {
$rating = false;
}
 
$stickers = $this->getStickers($result['product_id']) ;
 
$this->data['bestseller_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
 
 
//Featured
$this->data['featured_products'] = array();
 
$products = explode(',', $this->config->get('featured_product'));
 
//Add 
   srand((float)microtime() * 1000000);
   shuffle($products);
 
//END
 
if (empty($setting['limit'])) {
$setting['limit'] = 5;
}
 
$products = array_slice($products, 0, (int)$setting['limit']);
 
foreach ($products as $product_id) {
$product_info = $this->model_catalog_product->getProduct($product_id);
 
if ($product_info) {
if ($product_info['image']) {
$image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}
 
if ((float)$product_info['special']) {
$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}
 
if ($this->config->get('config_review_status')) {
$rating = $product_info['rating'];
} else {
$rating = false;
}
 
$stickers = $this->getStickers($product_info['product_id']) ;
 
$this->data['featured_products'][] = array(
'product_id' => $product_info['product_id'],
'thumb' => $image,
'name' => $product_info['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']),
);
}
}
 
$this->data['module'] = $module++;
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/product_tab.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/product_tab.tpl';
} else {
$this->template = 'default/template/module/product_tab.tpl';
}
 
$this->render();
}
 
private function getStickers($product_id) {
 
$stickers = $this->model_catalog_product->getProductStickerbyProductId($product_id) ;
 
if (!$stickers) {
return;
}
 
$this->data['stickers'] = array();
 
foreach ($stickers as $sticker) {
$this->data['stickers'][] = array(
'position' => $sticker['position'],
'image' => HTTP_SERVER . 'image/' . $sticker['image']
);
}
 
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/stickers.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/stickers.tpl';
} else {
$this->template = 'default/template/product/stickers.tpl';
}
 
return $this->render();
 
}
}
?>

 

Не проверял.

Надіслати
Поділитися на інших сайтах

  • 10 months later...

Не проверял

Для 2......
 
catalog/controller/module/special.php
 

'limit' => $setting['limit']

заменить на
 

'limit' => ($setting['limit'] * 10)

найти
 

$results = $this->model_catalog_product->getProductSpecials($filter_data);

добавить после
 

shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
Надіслати
Поділитися на інших сайтах

К сожалению так не работает. Вчера сам такое пробовал, но вывод без изменений.

На время в tpl включил автопрокрутку скриптом Owl Carousel, но хочу именно рандомный товар, а затем уже прокрутку.

 

Забыл написать тема XDS Coloring, если это имеет значение.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.