Jump to content
max1985

Скрыть один товар не авторизованным пользователям

Recommended Posts

Здравствуйте!

Подскажите как скрыть один товар не авторизованным пользователям? 

 

Share this post


Link to post
Share on other sites

if ($product_id == id) break;

Share this post


Link to post
Share on other sites
1 час назад, max1985 сказал:

Здравствуйте!

Подскажите как скрыть один товар не авторизованным пользователям? 

 

только один?

 

 

34 минуты назад, splka сказал:

if ($product_id == id) break;

куда брейкать-то?

Share this post


Link to post
Share on other sites
1 минуту назад, chukcha сказал:

только один?

Да! 

Share this post


Link to post
Share on other sites
37 минут назад, chukcha сказал:

только один?

 

 

куда брейкать-то?


Окей,

if ($product_id == id) {} else {}
Или
if ($product_id != id) {}
Как причесать этот код?

Edited by splka

Share this post


Link to post
Share on other sites

спрошу еще, а что отдавать?

Share this post


Link to post
Share on other sites

 

 

2 часа назад, max1985 сказал:

как скрыть один товар не авторизованным пользователям? 

 

везде?

Share this post


Link to post
Share on other sites
8 минут назад, fanatic сказал:

 

 

везде?

Желательно! 

Share this post


Link to post
Share on other sites

Я имею модуль

restrict entity

Позволяет установить доступ к категориям или товарам из доступной группы.

Если сегодня речь идет об одном товаре, то завтра о 10-ти

Share this post


Link to post
Share on other sites
5 минут назад, chukcha сказал:

Я имею модуль

restrict entity

Позволяет установить доступ к категориям или товарам из доступной группы.

Если сегодня речь идет об одном товаре, то завтра о 10-ти

Там только один такой товар, который лучше не светить... Больше подобных не будет. 

Share this post


Link to post
Share on other sites

в лбом случае, нудно делать комплекс мероприяттий

Share this post


Link to post
Share on other sites

как вариант

foreach ($results as $result) {
	if(!$this->customer->isLogged() && $result['product_id'] == 'идентификатор товара'){
		continue;
	}
    //  тут код контроллера
}

 

  • +1 1

Share this post


Link to post
Share on other sites

а по прямой ссылке, редирект или сообщение

Share this post


Link to post
Share on other sites
32 минуты назад, fanatic сказал:

как вариант


foreach ($results as $result) {
	if(!$this->customer->isLogged() && $result['product_id'] == 'идентификатор товара'){
		continue;
	}
    //  тут код контроллера
}

 

и вместо 20 получить 19 в сортировке +  можно зайти по прямой ссылке..
+ если вдруг какие нибудь акции, последние, etc .. то и туда может попасть

Share this post


Link to post
Share on other sites
35 минут назад, chukcha сказал:

и вместо 20 получить 19 в сортировке

 

if(!$this->customer->isLogged()){
	$sql .= " AND		p.product_id != 'id' ";
}

 

Share this post


Link to post
Share on other sites

Нашел готовый ocmod для opencart, немного пришлось его переделать пол ocstor... теперь через админку в КТ можно указывать в каких группах отображать.

Всем спасибо за помощь! 

Share this post


Link to post
Share on other sites
3 минуты назад, max1985 сказал:

Нашел готовый ocmod для opencart,

Ну так поделитесь.. или нашел на просторах вареза?

 

20 часов назад, chukcha сказал:

Я имею модуль

restrict entity



Но вы сказали что товар один, что вам админка не нужна
 

Share this post


Link to post
Share on other sites
4 часа назад, chukcha сказал:

Ну так поделитесь.. или нашел на просторах вареза?

 


Но вы сказали что товар один, что вам админка не нужна
 

Да, но так будет правильней.

Выкладываю как у меня для ocstor 2.1. Может не подойти... Смотрим логи и правим.

Спойлер

<modification>
	<name>Товары для группы клиентов</name>
	<code>product-customer-group</code>
	<version>2.1</version>
	<author>max_1985</author>
	<link>https://opencartforum.ru</link>
	<file path="system/library/user.php">
		<operation error="log" info="create a new table product_to_customer_groups if not exists">
			<search><![CDATA[$user_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "user WHERE user_id = '" . (int)$this->session->data['user_id'] . "' AND status = '1'");]]></search>
			<add position="after"><![CDATA[$this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "product_to_customer_groups` (
    `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	`p2cg_product_id` int( 11  )  NOT  NULL ,
    `p2cg_customer_group_id` int( 11  )  NOT  NULL
)ENGINE  =  MyISAM  DEFAULT CHARSET  = utf8 COLLATE  = utf8_bin");]]></add>
		</operation>
	</file>


	<file path="admin/language/english/catalog/product.php">
		<operation error="skip" info="Set language for customer group in product page">
			<search><![CDATA[$_['error_keyword']          = 'SEO keyword already in use!';]]></search>
			<add position="after"><![CDATA[$_['entry_customer_group']           = 'Customer Groups'; $_['help_product_to_customer_group']      = 'Select Customer Groups for this product. By default its available to all.';]]></add>
		</operation>
		<operation error="skip" info="Set language for customer group in product page v2.0.0.0">
			<search><![CDATA[$_['error_model']            = 'Product Model must be greater than 1 and less than 64 characters!';]]></search>
			<add position="after"><![CDATA[$_['entry_customer_group']           = 'Customer Groups'; $_['help_product_to_customer_group']      = 'Select Customer Groups for this product. By default its available to all.';]]></add>
		</operation>
	</file>
	<file path="admin/language/russian/catalog/product.php">
		<operation error="skip" info="Set language for customer group in product page">
			<search><![CDATA[$_['error_keyword']]]></search>
			<add position="before"><![CDATA[$_['entry_customer_group']           = 'Группы клиентов'; $_['help_product_to_customer_group']      = 'По умолчанию товар будет доступен для всех.';]]></add>
		</operation>
		<operation error="skip" info="Set language for customer group in product page v2.0.0.0">
			<search><![CDATA[$_['error_model']]]></search>
			<add position="before"><![CDATA[$_['entry_customer_group']           = 'Группы клиентов'; $_['help_product_to_customer_group']      = 'По умолчанию товар будет доступен для всех.';]]></add>
		</operation>
	</file>

	<file path="admin/model/catalog/product.php">
		<operation error="log" info="Create a new function to get product_id from table product to customer group">
			<search><![CDATA[public function getProductStores($product_id) {]]></search>
			<add position="before"><![CDATA[public function getProductCustomerGroups($product_id) {
		$product_customer_group_data = array();
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_customer_groups WHERE p2cg_product_id = '" . (int)$product_id . "'");

		foreach ($query->rows as $result) {
			$product_customer_group_data[] = $result['p2cg_customer_group_id'];
		}
		return $product_customer_group_data;
	}]]></add>
		</operation>

		<operation error="log" info="Edit addProduct() to add data to table product to customer group">
			<search><![CDATA[$product_id = $this->db->getLastId();]]></search>
			<add position="after"><![CDATA[if (isset($data['p2cg_product_customer_groups'])) {
			foreach ($data['p2cg_product_customer_groups'] as $customer_group_id) {
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_customer_groups SET p2cg_product_id = '" . (int)$product_id . "', p2cg_customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "'");
			}
		}]]></add>
		</operation>

		<operation error="log" info="Edit editProduct() to update table product to customer group">
			<search index="0"><![CDATA[$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_store WHERE product_id = '" . (int)$product_id . "'");]]></search>
			<add position="before"><![CDATA[$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_customer_groups WHERE p2cg_product_id = '" . (int)$product_id . "'");

if (isset($data['p2cg_product_customer_groups'])) {		
			foreach ($data['p2cg_product_customer_groups'] as $customer_group_id) {
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_customer_groups SET p2cg_product_id = '" . (int)$product_id . "', p2cg_customer_group_id = '" . (int)$customer_group_id . "'");
			}
		}]]></add>
		</operation>
		
		<operation error="log" info="Edit deleteProduct() to update table product to customer group">
			<search><![CDATA[$this->db->query("DELETE FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'");]]></search>
			<add position="after"><![CDATA[$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_customer_groups WHERE p2cg_product_id = '" . (int)$product_id . "'");]]></add>
		</operation>
	</file>

	<file path="admin/controller/catalog/product.php">
		<operation error="log" info="Load language of customer groups in product page">
			<search><![CDATA[$data['entry_store'] = $this->language->get('entry_store');]]></search>
			<add position="after"><![CDATA[$data['entry_customer_group'] = $this->language->get('entry_customer_group'); $data['help_product_to_customer_group'] = $this->language->get('help_product_to_customer_group');]]></add>
		</operation>

		<operation error="log" info="Fetch data of customer groups">
			<search><![CDATA[$this->load->model('setting/store');]]></search>
			<add position="before"><![CDATA[
			if(VERSION == '2.1.0.1' || VERSION == '2.1.0.2'){
			$this->load->model('customer/customer_group');
			$data['p2cg_customer_groups'] = $this->model_customer_customer_group->getCustomerGroups();
			} else {
			$this->load->model('customer/customer_group');
			$data['p2cg_customer_groups'] = $this->model_customer_customer_group->getCustomerGroups();
			}
		
		if (isset($this->request->post['p2cg_product_customer_groups'])) {
			$data['p2cg_product_customer_groups'] = $this->request->post['p2cg_product_customer_groups'];
		} elseif (isset($this->request->get['product_id'])) {
			$data['p2cg_product_customer_groups'] = $this->model_catalog_product->getProductCustomerGroups($this->request->get['product_id']);
		} else {
			$data['p2cg_product_customer_groups'] = array(0);
		}]]></add>
		</operation>
	</file>

	<file path="admin/view/template/catalog/product_form.tpl">
		<operation error="log" info="Display customer groups on product page">
			<search><![CDATA[<label class="col-sm-2 control-label" for="input-keyword"><span data-toggle="tooltip" title="<?php echo $help_keyword; ?>"><?php echo $entry_keyword; ?></span></label>]]></search>
			<add position="before" offset="1"><![CDATA[<div class="form-group">
                <label class="col-sm-2 control-label" for="input-p2cg_product_customer_groups"><span data-toggle="tooltip" title="<?php echo $help_product_to_customer_group; ?>"><?php echo $entry_customer_group; ?></span></label>
                <div class="col-sm-10">
                  <div class="well well-sm" style="height: 150px; overflow: auto;">
                    <div class="checkbox">
                      <?php foreach ($p2cg_customer_groups as $customer_group) { ?>
					  <div class="col-sm-10">
                      <label>
                        <?php if (in_array($customer_group['customer_group_id'], $p2cg_product_customer_groups)) { ?>
                        <input type="checkbox" name="p2cg_product_customer_groups[]" value="<?php echo $customer_group['customer_group_id']; ?>" checked="checked" />
                        <?php echo $customer_group['name']; ?>
                        <?php } else { ?>
                        <input type="checkbox" name="p2cg_product_customer_groups[]" value="<?php echo $customer_group['customer_group_id']; ?>" />
                    <?php echo $customer_group['name']; ?>
                        <?php } ?>
                      </label>
					  </div>
                      <?php } ?>
                    </div>
                  </div>
                </div>
              </div>]]></add>
		</operation>
	</file>
<!--////////////////////////////////////////////////////////////////////////////////////////-->
	<file path="catalog/view/theme/*/template/common/header.tpl">
		<operation error="log" info="Stop Errors ">
			<search><![CDATA[<title><?php echo $title; ?></title>]]></search>
			<add position="after"><![CDATA[<?php error_reporting(0);?>]]></add>
		</operation>
	</file>

	<file path="catalog/model/catalog/product.php">

		<operation error="skip" info="Disable fetch cache product and product.latest">
			<search><![CDATA[$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . (int)$limit);]]></search>
			<add position="replace"><![CDATA[$product_data = "";]]></add>
		</operation>
		
		<operation error="skip" info="Disable fetch cache product.bestseller ">
			<search><![CDATA[$product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit);]]></search>
			<add position="replace"><![CDATA[$product_data = "";]]></add>
		</operation>

		<operation error="log" info="Create Function getProductToCustomer() to get product data including table product_to_customer_groups">
			<search><![CDATA[public function getTotalProductSpecials() {]]></search>
			<add position="before"><![CDATA[public function getProductToCustomer($productID) {
			
            $sql = " SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id) WHERE p.product_id = '".$productID."' "; 
			if($this->customer->isLogged()){
			$sql .= " AND p2cg.p2cg_product_id IS NULL OR p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."' ";
			}
			if (!$this->customer->isLogged()) {
			$sql .= " AND  p2cg.p2cg_product_id IS NULL OR p2cg.p2cg_customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' ";
			}
			$sql .= " GROUP BY p.product_id ";
			$query = $this->db->query($sql);
            
			if($query->num_rows){return true;}else{return false;}
        
	}]]></add>
		</operation>

		<operation error="log" info="Change Function getTotalProducts() to get product data including table product_to_customer_groups">
			<search index="1"><![CDATA[$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";]]></search>
			<add position="replace"><![CDATA[$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2cc ON (p.product_id = p2cc.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2s.product_id = p2cg.p2cg_product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";
			]]></add>
		</operation>
		<operation error="log">
			<search index="1"><![CDATA[$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_product_id IS NULL OR cp.path_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."' ";}
			if (!$this->customer->isLogged()) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_product_id IS NULL OR cp.path_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->config->get('config_customer_group_id')."' ";}
			]]></add>
		</operation>
		<operation error="log">
			<search index="1"><![CDATA[$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_product_id IS NULL OR p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."'";}
			if (!$this->customer->isLogged()) {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_product_id IS NULL OR p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->config->get('config_customer_group_id')."'";}
			]]></add>
		</operation>
		
		<operation error="log" info="Change getProducts() MySql Query to get product data including table product_to_customer_groups">
			<search><![CDATA[$sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";]]></search>
			<add position="replace" offset="16"><![CDATA[$sql = "SELECT p.product_id, p2c.category_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id) LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) ";]]></add>
		</operation>
		<operation error="log">
			<search><![CDATA[$sql .= " GROUP BY p.product_id";]]></search>
			<add position="before"><![CDATA[
			if($this->customer->isLogged()){
			if (!empty($data['filter_category_id'])) {
			if (!empty($data['filter_sub_category'])) {
			$sql .= " AND p2cg.p2cg_product_id IS NULL OR cp.path_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."' ";
			} else {
			$sql .= " AND p2cg.p2cg_product_id IS NULL OR p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."' ";
			}}}
			if(!$this->customer->isLogged()){
			if(!empty($data['filter_name'])){
			$sql .= " AND p2cg.p2cg_product_id IS NULL OR p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' ";
			} elseif(!empty($data['filter_category_id'])){
			$sql .= " AND p2cg.p2cg_product_id IS NULL OR p2c.category_id = '" . (int)$data['filter_category_id'] . "' AND p2cg.p2cg_customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' ";
			}	 else {
			$sql .= " AND p2cg.p2cg_product_id IS NULL OR p2cg.p2cg_customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' ";
			}}
			]]></add>
		</operation>
		
		<operation error="log">
			<search index="1"><![CDATA[$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "' AND p2cg.p2cg_product_id IS NULL OR p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."'";}
			if(!$this->customer->isLogged()){$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "' AND p2cg.p2cg_product_id IS NULL OR p2cg.p2cg_customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "'";}
			]]></add>
		</operation>
		
		<operation error="log" info="Change getProduct() MySql Query to get product data including table product_to_customer_groups">
			<search><![CDATA[$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, (SELECT md.name FROM " . DB_PREFIX . "manufacturer_description md WHERE md.manufacturer_id = p.manufacturer_id AND md.language_id = '" . (int)$this->config->get('config_language_id') . "') AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, (SELECT md.name FROM " . DB_PREFIX . "manufacturer_description md WHERE md.manufacturer_id = p.manufacturer_id AND md.language_id = '" . (int)$this->config->get('config_language_id') . "') AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p.product_id = p2cg.p2cg_product_id) WHERE (p.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_product_id IS NULL) OR (p.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_customer_group_id = '" .(int)$this->customer->getGroupId(). "') AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");}
			if(!$this->customer->isLogged()){$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, (SELECT md.name FROM " . DB_PREFIX . "manufacturer_description md WHERE md.manufacturer_id = p.manufacturer_id AND md.language_id = '" . (int)$this->config->get('config_language_id') . "') AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p.product_id = p2cg.p2cg_product_id) WHERE (p.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_product_id IS NULL) OR (p.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_customer_group_id = '" .(int)$this->config->get('config_customer_group_id'). "') AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");}
			]]></add>
		</operation>

		<operation error="log" info="Change getBestSellerProducts() MySql Query to get product data including table product_to_customer_groups">
			<search><![CDATA[$query = $this->db->query("SELECT op.product_id, SUM(op.quantity) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){
$query = $this->db->query("SELECT op.product_id, SUM(op.quantity) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)

LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id)
LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id)

WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' 
AND
p2cg.p2cg_product_id IS NULL
OR p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."'

GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);
			}
			if(!$this->customer->isLogged()){
$query = $this->db->query("SELECT op.product_id, SUM(op.quantity) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)

LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id)
LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id)

WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' 
AND
p2cg.p2cg_product_id IS NULL
OR p2cg.p2cg_customer_group_id = '".(int)$this->config->get('config_customer_group_id')."'

GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);
			}
			]]></add>
		</operation>

		<operation error="log" info="Change getProductSpecials() MySql Query to get product data including table product_to_customer_groups">
			<search><![CDATA[$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) GROUP BY ps.product_id";]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){
$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id)  WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND (ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND p2cg.p2cg_product_id IS NULL)   OR (ps.customer_group_id = p2cg.p2cg_customer_group_id AND  p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."') AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) GROUP BY ps.product_id";
			}
			if(!$this->customer->isLogged()){
$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id)  WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND (ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND p2cg.p2cg_product_id IS NULL)  OR p2cg.p2cg_customer_group_id = '".(int)$this->config->get('config_customer_group_id')."' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) GROUP BY ps.product_id";
			}
			]]></add>
		</operation>

		<operation error="log" info="Change getProductRelated() MySql Query to get product data including table product_to_customer_groups">
			<search><![CDATA[$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){
			$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND p2cg.p2cg_product_id IS NULL OR (pr.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."') ");
			}
			if(!$this->customer->isLogged()){
			$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND p2cg.p2cg_product_id IS NULL OR (pr.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->config->get('config_customer_group_id')."') ");
			}
			]]></add>
		</operation>

		<operation error="log" info="Change getCategories() MySql Query to get product category data including table product_to_customer_groups">
			<search><![CDATA[$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");]]></search>
			<add position="replace"><![CDATA[
			if($this->customer->isLogged()){$query = $this->db->query("SELECT p2c.* FROM " . DB_PREFIX . "product_to_category p2c LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id) WHERE (p2c.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_product_id IS NULL) OR (p2c.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->customer->getGroupId()."') GROUP BY p2c.category_id");} 
			if(!$this->customer->isLogged()){$query = $this->db->query("SELECT p2c.* FROM " . DB_PREFIX . "product_to_category p2c LEFT JOIN " . DB_PREFIX . "product_to_customer_groups p2cg ON (p2c.product_id = p2cg.p2cg_product_id) WHERE (p2c.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_product_id IS NULL) OR (p2c.product_id = '" . (int)$product_id . "' AND p2cg.p2cg_customer_group_id = '".(int)$this->config->get('config_customer_group_id')."') GROUP BY p2c.category_id");}
			]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/product/product.php">
		<operation error="log" info="Check if the product is in restricted product">
			<search><![CDATA[$product_info = $this->model_catalog_product->getProduct($product_id);]]></search>
			<add position="after"><![CDATA[$product_prod2cust = $this->model_catalog_product->getProductToCustomer($product_id); if(!$product_prod2cust){$product_info = "";}]]></add>
		</operation>
	</file>

	<file path="catalog/controller/product/manufacturer.php">
		<operation error="log" info="Remove empty array">
			<search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search>
			<add position="after"><![CDATA[$results = array_filter($results);]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/module/featured.php">
		<operation error="skip" info="Check if the featured product is in restricted product">
			<search><![CDATA[$products = array_slice($setting['product'], 0, (int)$setting['limit']);]]></search>
			<add position="after"><![CDATA[foreach($products as $key => $value){$product_prod2cust = $this->model_catalog_product->getProductToCustomer($value); if(!$product_prod2cust){unset($products[$key]);}}]]></add>
		</operation>
		<operation error="skip" info="Check if the featured product is in restricted product v2.0.0.0">
			<search><![CDATA[$products = explode(',', $this->config->get('featured_product'));]]></search>
			<add position="after"><![CDATA[foreach($products as $key => $value){$product_prod2cust = $this->model_catalog_product->getProductToCustomer($value); if(!$product_prod2cust){unset($products[$key]);}}]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/product/search.php">
		<operation error="log" info="Get searched product detail ">
			<search><![CDATA[foreach ($results as $result) {]]></search>
			<add position="after"><![CDATA[$categories = $this->model_catalog_product->getCategories($result['product_id']); if(sizeof($categories)>0){]]></add>
		</operation>
		<operation error="log">
			<search><![CDATA['href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'] . $url)]]></search>
			<add position="after" offset="2"><![CDATA[}]]></add>
		</operation>
	</file>
</modification>

 

 

Share this post


Link to post
Share on other sites
5 минут назад, max1985 сказал:

$this->db->query("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "product_to_customer_groups` ( `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `p2cg_product_id` int( 11 ) NOT NULL , `p2cg_customer_group_id` int( 11 ) NOT NULL )ENGINE = MyISAM DEFAULT CHARSET = utf8 COLLATE = utf8_bin");]]></add>

О мАмАдАрАгАя - каждый раз при логине

Не знаю где вы это взяли, но это код из ПЛАТНОГО модуля (мне так кажется)

окмоды сделаные на коленке не комментируются :)

 

Share this post


Link to post
Share on other sites
2 минуты назад, chukcha сказал:

О мАмАдАрАгАя - каждый раз при логине

Не знаю где вы это взяли, но это код из ПЛАТНОГО модуля (мне так кажется)

окмоды сделаные на коленке не комментируются :)

 

Знаете как сделать лучше?

Share this post


Link to post
Share on other sites
	<file path="catalog/view/theme/*/template/common/header.tpl">
		<operation error="log" info="Stop Errors ">
			<search><![CDATA[<title><?php echo $title; ?></title>]]></search>
			<add position="after"><![CDATA[<?php error_reporting(0);?>]]></add>
		</operation>
	</file>

Это полный ППЦ
 

Disable fetch cache

ЗАчем?

 

	<file path="catalog/controller/product/manufacturer.php">
		<operation error="log" info="Remove empty array">
			<search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search>
			<add position="after"><![CDATA[$results = array_filter($results);]]></add>
		</operation>
	</file>

ЗАЧЕМ?
И еще куча мусора

  • +1 1

Share this post


Link to post
Share on other sites

Можете подправить и выложить ocmod без лишнего мусора?

Share this post


Link to post
Share on other sites
39 минут назад, max1985 сказал:

Можете подправить и выложить ocmod без лишнего мусора?

зачем?

 

 

В 04.02.2019 в 14:32, chukcha сказал:

Я имею модуль

restrict entity

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.