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

Клон Сопутствующие товары Opencart 3


Recommended Posts

Доброго времени суток.

Сегодня задалась вопросом как сделать дополнительный блок Related Products и у меня почти все получилось, наполовину...

Но есть где то косяк который не могу решить самостоятельно, по этому пишу здесь подробнейшую инструкцию как cделать клон сопутствующих товаров в Opencart 3, а с вашей помощью надеюсь довести его до ума.

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

Что делалось и как делалось:

1.admin/controller/catalog/product.php

Находим:

if (isset($this->request->post['product_related'])) {

Перед ним добавляем:

		if (isset($this->request->post['product_swatch'])) {
			$products = $this->request->post['product_swatch'];
		} elseif (isset($this->request->get['product_id'])) {
			$products = $this->model_catalog_product->getProductSwatch($this->request->get['product_id']);
		} else {
			$products = array();
		}

		$data['product_swatchs'] = array();

		foreach ($products as $product_id) {
			$swatch_info = $this->model_catalog_product->getProduct($product_id);

			if ($swatch_info) {
				$data['product_swatchs'][] = array(
					'product_id' => $swatch_info['product_id'],
					'name'       => $swatch_info['name']
				);
			}
		}

2.admin/model/catalog/product.php
Находим код:

if (isset($data['product_related'])) {

Примерно 105 строка https://prnt.sc/sfdexa и над ним добавляем код:

		if (isset($data['product_swatch'])) {
			foreach ($data['product_swatch'] as $swatch_id) {
				$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$product_id . "' AND swatch_id = '" . (int)$swatch_id . "'");
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_swatch SET product_id = '" . (int)$product_id . "', swatch_id = '" . (int)$swatch_id . "'");
				$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$swatch_id . "' AND swatch_id = '" . (int)$product_id . "'");
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_swatch SET product_id = '" . (int)$swatch_id . "', swatch_id = '" . (int)$product_id . "'");
			}
		}

После находим туже строку if (isset($data['product_related'])) { но уже примерно на 297 строке 
и над ними пропускаем две строчки которые выше и добавляем:

		$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$product_id . "'");
		$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE swatch_id = '" . (int)$product_id . "'");

		if (isset($data['product_swatch'])) {
			foreach ($data['product_swatch'] as $swatch_id) {
				$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$product_id . "' AND swatch_id = '" . (int)$swatch_id . "'");
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_swatch SET product_id = '" . (int)$product_id . "', swatch_id = '" . (int)$swatch_id . "'");
				$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$swatch_id . "' AND swatch_id = '" . (int)$product_id . "'");
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_swatch SET product_id = '" . (int)$swatch_id . "', swatch_id = '" . (int)$product_id . "'");
			}
		}

Чтоб получилось примерно так:https://prnt.sc/sfdiab

Далее находим:

$data['product_related'] = $this->getProductRelated($product_id);

и перед ним добавляем:

$data['product_swatch'] = $this->getProductSwatch($product_id);

Далее ищем код, я так понимаю он за удаление товара отвечает:

$this->db->query("DELETE FROM " . DB_PREFIX . "product_related WHERE product_id = '" . (int)$product_id . "'");

И выше него пишем такой код:

		$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$product_id . "'");
		$this->db->query("DELETE FROM " . DB_PREFIX . "product_swatch WHERE swatch_id = '" . (int)$product_id . "'");

Потом находим код:

public function getProductRelated($product_id) {

И над ним пишем такое:

	public function getProductSwatch($product_id) {
		$product_swatch_data = array();

		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_swatch WHERE product_id = '" . (int)$product_id . "'");

		foreach ($query->rows as $result) {
			$product_swatch_data[] = $result['swatch_id'];
		}

		return $product_swatch_data;
	}

Теперь откриваем шаблон:
3.admin/view/template/catalog/product_form.twig

Ищем строку

<label class="col-sm-2 control-label" for="input-related">

И над ней выше <div class="form-group">    
Добавляем:

              <div class="form-group">
                <label class="col-sm-2 control-label" for="input-swatch"><span data-toggle="tooltip" title="{{ help_swatch }}">{{ entry_swatch }}</span></label>
                <div class="col-sm-10">
                  <input type="text" name="swatch" value="" placeholder="{{ entry_swatch }}" id="input-swatch" class="form-control" />
                  <div id="product-swatch" class="well well-sm" style="height: 150px; overflow: auto;"> {% for product_swatch in product_swatchs %}
                    <div id="product-swatch{{ product_swatch.product_id }}"><i class="fa fa-minus-circle"></i> {{ product_swatch.name }}
                      <input type="hidden" name="product_swatch[]" value="{{ product_swatch.product_id }}" />
                    </div>
                    {% endfor %}</div>
                </div>
              </div>

Далее в самом низу ищем 

$('input[name=\'related\']').autocomplete({

и над ним вставим следующее:

// Swatch
$('input[name=\'swatch\']').autocomplete({
	'source': function(request, response) {
		$.ajax({
			url: 'index.php?route=catalog/product/autocomplete&user_token={{ user_token }}&filter_name=' +  encodeURIComponent(request),
			dataType: 'json',
			success: function(json) {
				response($.map(json, function(item) {
					return {
						label: item['name'],
						value: item['product_id']
					}
				}));
			}
		});
	},
	'select': function(item) {
		$('input[name=\'swatch\']').val('');

		$('#product-swatch' + item['value']).remove();

		$('#product-swatch').append('<div id="product-swatch' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_swatch[]" value="' + item['value'] + '" /></div>');
	}
});

$('#product-swatch').delegate('.fa-minus-circle', 'click', function() {
	$(this).parent().remove();
});	

4.Теперь нам нужно открыть admin/language/ru-ru/catalog/product.php    
И добавить куда то к примеру в конец списка после всех строчек:

$_['entry_swatch']          = 'Swatch Products';
$_['help_swatch']           = '(Autocomplete)';

5.Ну и последний пункт для вывода в админке:
Заходим в базу данных phpMyAdmin там жмем экспорт, в списке находим oc_product_related все галочки снимаем а только возле него оставляем и жмем вперед.
Сохраняем на компьютере откриваем в нотепад + и делаем замену всех related на swatch и грузим обратно в базу данных кнопкой импорт.

 

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

-----------------------------------------------------------------------

1. Модель catalog/model/catalog/product.php
Здесь мы ищем:

public function getProductRelated($product_id) {

и над ним добавляем:

	public function getProductSwatch($product_id) {
		$product_data = array();

		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_swatch pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.swatch_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') . "'");

		foreach ($query->rows as $result) {
			$product_data[$result['swatch_id']] = $this->getProduct($result['swatch_id']);
		}

		return $product_data;
	}

2. Открываем контролер catalog/controller/product/product.php:
Находим код:

$data['products'] = array();

И над ним добавляем:

$data['swatch_products'] = array();		
			$results = $this->model_catalog_product->getProductSwatch($this->request->get['product_id']);

			foreach ($results as $result) {
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_related_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_related_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_related_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_related_height'));
				}

				if ($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')), $this->session->data['currency']);
				} 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')), $this->session->data['currency']);
				} else {
					$special = false;
				}
				
          if ((float)$product_info['special']) {
            $data['action_percent'] = 100-round($product_info['special']/$product_info['price']*100, 0);
          } else {
            $data['action_percent']= false;
          }				

				if ($this->config->get('config_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
				} else {
					$tax = false;
				}

				if ($this->config->get('config_review_status')) {
					$rating = (int)$result['rating'];
				} else {
					$rating = false;
				}
				$data['swatch_products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $rating,
					'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
				);
			}

3. Открываем шаблон и в нем находим код {% if tags %} и над ним ставим :

<div class="">
      {% if swatch_products %}
      <h2 class="home-heading text-center">{{ text_swatch }}<span class="head-bottom"></span></h2>
      <div class="pro-nepr row thummargin">
        <div id="swatch" class="">
        {% for product in swatch_products %}
        {% if column_left and column_right %}
        {% set class = 'col-xs-8 col-sm-6' %}
        {% elseif column_left or column_right %}
        {% set class = '' %}
        {% else %}
        {% set class = 'col-xs-12 col-sm-12' %}
        {% endif %}
         <div class="product-layout col-xs-12">
    <div class="product-thumb transition">
      <div class="image"><a href="{{ product.href }}"><img src="{{ product.thumb }}" alt="{{ product.name }}" title="{{ product.name }}" class="img-responsive center-block" /></a>
          <!-- insp Images Start -->
                 {% set t = 0 %}
                  {% for more_image in product.more_images %}
                  {% for pop in more_image %}
                  {% if t == 0 %}
                    <a href="{{ product.href }}"><img src="{{ pop.popup_more }}" class="img-responsive second-img" alt="hover image"/></a>
                  {% set t = t + 1 %}
                    {% endif %}

                  {% endfor %}
                  {% endfor %}

          <!-- End -->
        {% if product.price %}
          {% if product.special %}
              <span class="salepro">sale</span>
          {% endif %}
      {% endif %}
      </div>
      <div class="caption text-center">
        <h4><a href="{{ product.href }}">{{ product.name }}</a></h4>
       {#  <p>{{ product.description }}</p> #}
      
        {% if product.price %}
        <p class="price"> {% if not product.special %}
          {{ product.price }}
          {% else %} <span class="price-new">{{ product.special }}</span> <span class="price-old">{{ product.price }}</span> {% endif %}
          {# {% if product.tax %} <span class="price-tax">{{ text_tax }} {{ product.tax }}</span> {% endif %} #} </p>
        {% endif %} 
         {% if product.rating %}
          <div class="rating">
            {% for i in 1..5 %}
            {% if product.rating < i %}
            <span class="fa fa-stack">
              <i class="fa fa-star-o fa-stack-2x"></i>
            </span>
            {% else %}
            <span class="fa fa-stack">
              <i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i>
            </span>
            {% endif %}
          {% endfor %}</div>{% else %}
          <div class="rating">{% for i in 1..5 %}
          <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
          {% endfor %}</div>
        {% endif %}
      <div class="button-group">
        <button type="button" class="prowish" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><svg width="16px" height="16px"><use xlink:href="#addwish"></use></svg></button>
        <div class="bquickv" data-toggle="tooltip" title="{{ button_quickview }}"></div>
       <button class="acart" type="button" onclick="cart.add('{{ product.product_id }}');">{# <i class="fa fa-shopping-cart"></i>  #}<span class="hidden-xs">{{ button_cart }}</span></button>
       <!--<button type="button" class="pcom" {# data-toggle="tooltip" title="{{ button_compare }} " #} onclick="compare.add('{{ product.product_id }}');">+ {{ button_compare }}</button>-->
      </div>
     
    </div>
    </div>
  </div>
    {% endfor %}
        </div>
        
        </div>
        {% endif %}
      </div>	

4. в языковый файл catalog/language/ru-ru/product/product.php 
Добавляем заголовок

$_['text_swatch']             = 'Swatch Products';

Все я закончила...


А теперь вопрос знатокам, где я натупила?


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

PS: инструкцию писала лично сама по ходу своих действий по етому строго не судите если что не так...

 

***************************************************************************************************************

Инструкция поправлена, и полностью рабочая, отдельная благодарность  Seriusis и Vetroff

***************************************************************************************************************

Тему можно закрывать.

Змінено користувачем natalia8978
  • +1 2
Надіслати
Поділитися на інших сайтах


если не ошибаюсь, какраз оригинальные рекомендуемые добавляются в массив $data['products'] в контроллере товара

Для начала вы создайте свой массив, например $data['swatch_products'] и уже при переборе $results добавляйте туда данные.

А дальше смотреть, какие данные приходят, если все правильно сделано, то будет работать

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

ну и понятно, что в twig файле тоже работать с swatch_products а не products

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

Да действительно вы правы, я изменила контролер теперь на такой:

Перед:

$data['products'] = array();

Добавила теперь так:

			$data['swatch_products'] = array();		
			$results = $this->model_catalog_product->getProductSwatch($this->request->get['product_id']);

			foreach ($results as $result) {
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_height'));
				}

				if ($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')), $this->session->data['currency']);
				} 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')), $this->session->data['currency']);
				} else {
					$special = false;
				}
				
          if ((float)$product_info['special']) {
            $data['action_percent'] = 100-round($product_info['special']/$product_info['price']*100, 0);
          } else {
            $data['action_percent']= false;
          }				

				if ($this->config->get('config_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
				} else {
					$tax = false;
				}

				if ($this->config->get('config_review_status')) {
					$rating = (int)$result['rating'];
				} else {
					$rating = false;
				}
				$data['swatch_products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $rating,
					'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
				);
			}					
			

А в шаблоне теперь так:

<div class="">
      {% if swatch_products %}
      <h2 class="home-heading text-center">{{ text_swatch }}<span class="head-bottom"></span></h2>
      <div class="pro-nepr row thummargin">
        <div id="swatch" class="">
        {% for product in swatch_products %}
        {% if column_left and column_right %}
        {% set class = 'col-xs-8 col-sm-6' %}
        {% elseif column_left or column_right %}
        {% set class = '' %}
        {% else %}
        {% set class = 'col-xs-12 col-sm-12' %}
        {% endif %}
         <div class="product-layout col-xs-12">
    <div class="product-thumb transition">
      <div class="image"><a href="{{ product.href }}"><img src="{{ product.thumb }}" alt="{{ product.name }}" title="{{ product.name }}" class="img-responsive center-block" /></a>
          <!-- insp Images Start -->
                 {% set t = 0 %}
                  {% for more_image in product.more_images %}
                  {% for pop in more_image %}
                  {% if t == 0 %}
                    <a href="{{ product.href }}"><img src="{{ pop.popup_more }}" class="img-responsive second-img" alt="hover image"/></a>
                  {% set t = t + 1 %}
                    {% endif %}

                  {% endfor %}
                  {% endfor %}

          <!-- End -->
        {% if product.price %}
          {% if product.special %}
              <span class="salepro">sale</span>
          {% endif %}
      {% endif %}
      </div>
      <div class="caption text-center">
        <h4><a href="{{ product.href }}">{{ product.name }}</a></h4>
       {#  <p>{{ product.description }}</p> #}
      
        {% if product.price %}
        <p class="price"> {% if not product.special %}
          {{ product.price }}
          {% else %} <span class="price-new">{{ product.special }}</span> <span class="price-old">{{ product.price }}</span> {% endif %}
          {# {% if product.tax %} <span class="price-tax">{{ text_tax }} {{ product.tax }}</span> {% endif %} #} </p>
        {% endif %} 
         {% if product.rating %}
          <div class="rating">
            {% for i in 1..5 %}
            {% if product.rating < i %}
            <span class="fa fa-stack">
              <i class="fa fa-star-o fa-stack-2x"></i>
            </span>
            {% else %}
            <span class="fa fa-stack">
              <i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i>
            </span>
            {% endif %}
          {% endfor %}</div>{% else %}
          <div class="rating">{% for i in 1..5 %}
          <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
          {% endfor %}</div>
        {% endif %}
      <div class="button-group">
        <button type="button" class="prowish" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><svg width="16px" height="16px"><use xlink:href="#addwish"></use></svg></button>
        <div class="bquickv" data-toggle="tooltip" title="{{ button_quickview }}"></div>
       <button class="acart" type="button" onclick="cart.add('{{ product.product_id }}');">{# <i class="fa fa-shopping-cart"></i>  #}<span class="hidden-xs">{{ button_cart }}</span></button>
       <!--<button type="button" class="pcom" {# data-toggle="tooltip" title="{{ button_compare }} " #} onclick="compare.add('{{ product.product_id }}');">+ {{ button_compare }}</button>-->
      </div>
     
    </div>
    </div>
  </div>
    {% endfor %}
        </div>
        
        </div>
        {% endif %}
      </div>	

Теперь в модуле верно отображает нужную позицию https://prnt.sc/sffw6m  именно та которая в админке указанна.

Но ошибки все равно сыплятся https://prnt.sc/sffwub

Ну и не показывает собственно картинку, остальное вроде отображает ровно все...

Собственно где то что то еще не так....

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


_image_swatch_width, _image_swatch_height

 

вам нужно либо добавить эти переменные в настройках шаблона, но проще вернуть как было в рекомендуемых, если пропорции те же

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

в блоке вашем

if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_swatch_height'));
				}

проверьте параметры, которые передаете в метод $this->model_tool_image->resize

а именно $result['image']

 

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

 

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

Только что, Vetroff сказал:

_image_swatch_width, _image_swatch_height

 

вам нужно либо добавить эти переменные в настройках шаблона, но проще вернуть как было в рекомендуемых, если пропорции те же

 

Да, спасибо, я как раз до этого тоже додумалась так как увидела

$this->config->get('config_theme') . '_image_

И сразу дошло что ведь там тема размеры указывает, изменила назад именно куски на _image_related_width и _image_related_height  и теперь все ровненько, спасибо Вам всем за помощь.

 

Счас инструкцию вверху подправлю для других...

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


2 минуты назад, Seriusis сказал:

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

 

 

все гораздо проще )

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

Только что, Vetroff сказал:

 

все гораздо проще )

понятно, с конфига тянет то, чего не положили ) 

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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