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

devel

Користувачі
  
  • Публікації

    123
  • З нами

  • Відвідування

Усі публікації користувача devel

  1. Ок. Значит, поменял блоки requred-options и no-requred-options местами, т.к. опция срок подписки - последняя в необходимых, и следовательно - она самая последняя в списке всех опций, стилями прибил столбцы по краям области контента, и все работает как надо. Еще раз выражаю автору благодарность и за модуль, и за поддержку!
  2. Так и есть. По дефолту product.tpl выводит все опции в одном блоке. А я опции разделил на два блока requred и not-requred и стилями оформил их как две колонки. Соответственно, мод работает правильно, это мои кастомизации внесли путаницу. Сделано топорно: <div id="required-options"> <h4><?php echo $text_required_param; ?></h4> <?php foreach ($options as $option) { ?> <?php if ($option['required']) { ?> <?php if ($option['type'] == 'select') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <select name="option[<?php echo $option['product_option_id']; ?>]"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($option['option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option['product_option_id'] == '20' || $option['product_option_id'] == '23' || $option['product_option_id'] == '24' || $option['product_option_id'] == '25'|| $option['product_option_id'] == '32' || $option['product_option_id'] == '33') { ?> <?php if ($option_value['price']) { ?> ( <?php echo 'x'; ?> <?php echo round($option_value['price'],2); ?> ) <?php } ?> <?php } else if ($option_value['price']) { ?> ( <?php echo $option_value['price_prefix']; ?> <?php echo $option_value['price']; ?> ) <?php } ?> </option> <?php } ?> </select> </div> <br /> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <table class="option-image"> <?php foreach ($option['option_value'] as $option_value) { ?> <tr> <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label></td> </tr> <?php } ?> </table> </div> <br /> <?php } ?> <?php if ($option['type'] == 'text') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea> </div> <br /> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button"> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'date') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'time') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" /> </div> <br /> <?php } ?> <?php } ?> <?php } ?> </div> <div id="no-required-options"> <h4><?php echo $text_no_required_param; ?></h4> <?php foreach ($options as $option) { ?> <?php if (!$option['required']) { ?> <?php if ($option['type'] == 'select') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <select name="option[<?php echo $option['product_option_id']; ?>]"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($option['option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> ( <?php echo $option_value['price_prefix']; ?> <?php echo $option_value['price']; ?> ) <?php } ?> </option> <?php } ?> </select> </div> <br /> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> ( <?php echo $option_value['price_prefix']; ?> <?php echo $option_value['price']; ?> ) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <table class="option-image"> <?php foreach ($option['option_value'] as $option_value) { ?> <tr> <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label></td> </tr> <?php } ?> </table> </div> <br /> <?php } ?> <?php if ($option['type'] == 'text') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea> </div> <br /> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button"> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'date') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'time') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" /> </div> <br /> <?php } ?> <?php } ?> <?php } ?></div> </div> <?php } ?>
  3. Супер мод! Странно, как раньше мимо него прошел. Поставил 2.0.21 на opencart 1.5.6 и дефолтную тему. Добавил несколько опций обязательных, и несколько необязательных. Объясню на примере кабельного ТВ. Суть в том, что, если, к примеру, выбрать в кач-ве опции - умножение (например, обязательная опция - подписка на услугу, от 1 до 12 мес), а в кач-ве необязательной опции - доп услугу (например, каналы в Ultra HD, с прибавлением к прайсу определенной суммы), то умножение не учитывает доп. опции более 1 раза. Другими словами, если базовая цена услуги 100р/мес, дополнительная услуга Ultra HD - +50р/мес, то при выборе подписки на 2 месяцы, итоговая сумма получается (100*2)+50, а должно быть (100+50)*2. Т.е. доп. опции не умножаются. При этом, если опцию срока подписки сделать дополнительной (not requred), то начинает считать правильно. Можно было бы так оставить, но как быть, если таких опций (умножения) две, три и более? Например, точек оказания услуги - две, т.е. снова нужно умножить прайс на два, и он снова не учтет дополнительные +50р каждый месяц, а учтет только за 1 раз. Интуиция подсказывает, что решение простое и оно на поверхности, следует в перерасчете использовать все опции, а не только requred, но в каком модуле, mpn2005 или sergiosinicin?
  4. Все верно, Дополнение по поводу письма не учел. У себя поправил, Кто ранее пользовался полным решением - рекомендуется добавить изменения, озвученные alnem
  5. Говоря прямо, если возник спрос на такой фильтр, значит это не просто прихоть, а необходимость. И совсем его хоронить не буду. Просто переключился на другие вопросы. Ноябрь - да, последнее пока что изменение. Недоделанным осталась сортировка по производителю: autocomplete выводит весь список производителей, вместо нужного. Тема отложена, т.к. занят формой регистрации. Это фронтенд, он требует большего внимания.
  6. Opencart 1.5.6. В режиме обслуживания выводится header, content (сообщение, что сайт обслуживается) и footer, и как следствие - в хидере ссылки на регистрацию и вход. При попытке зарегаться, в IE9 и в Mozilla 25.0.1 вываливается "SyntaxError: JSON.parse: unexpected character OK" и листинг страницы. В хроме и опере все норм. Админ в это время не залогинен. Решение ищется.
  7. Снес с рабочего сайта. Слишком много допилов для 1.5.6. И все равно то там, то сям вылезают мелкие баги. В админке - еще полбеды. Но в фронтенде - это не айс. Версия pavblog_seo_pro.php из мода для opencart 1.5.6, как ни странно, подошла (хотя весит в 2 раза больше). Но в целом, осталось много нареканий. Спасибо автору и ikarus за адаптацию, но мне не подошел. Возможно, на 1.5.3-4 таких неожиданностей нет. Сравнил с оригинальным модом: похоже, автор выпустил апдейт. Вот его бы адаптировать к seo_pro.php... Но это большое дело, требующее больших временных затрат. В идеале, мод не должен ничего менять (особенно seo_pro.php). П.С. Чтобы не было непоняток: мод работает! Кто искал русский и с сео для 1.5.3.1 - это оно. Для более свежих движков - стоит обратить внимание на оригинал или дождаться пока Tom и ikarus переведут и подружат с сео_про новый релиз. П.С. 2. ikarus вышеописанные недочеты устранил (насколько я понял из уведомлений об обновлении файлов, коих было два). Если нет - архив с исправлениями я прибил выше.
  8. Вопреки здравому смыслу, разместил $controller->addPreAction(new Action('common/maintenance')); после сео . Все заработало. Это чистый opencart 1.5.6 Хитрый хитрого обхитрил ))))
  9. Вот еще баги: 2013-11-23 3:53:04 - PHP Notice: Undefined index: list in /home/ххх/www/admin/controller/module/pavblog.php on line 198 2013-11-23 3:58:57 - PHP Notice: Undefined index: list in /home/ххх/www/admin/controller/module/pavblog.php on line 198 2013-11-23 13:35:23 - PHP Notice: Undefined index: blog_id in /home/ххх/www/catalog/controller/pavblog/blog.php on line 71 2013-11-23 13:35:23 - PHP Notice: Undefined variable: category_id in /home/ххх/www/catalog/controller/pavblog/blog.php on line 232
  10. Проверил index.php, что в корне - там так же: // Front Controller $controller = new Front($registry); // Maintenance Mode $controller->addPreAction(new Action('common/maintenance')); // SEO URL's //$controller->addPreAction(new Action('common/seo_url')); if (!$seo_type = $config->get('config_seo_url_type')) { $seo_type = 'seo_url'; } $controller->addPreAction(new Action('common/' . $seo_type)); // Router if (isset($request->get['route'])) { $action = new Action($request->get['route']); } else { $action = new Action('common/home'); } // Dispatch $controller->dispatch($action, new Action('error/not_found')); // Output $response->output(); ?> Вобще, когда в админке кто-то есть (менеджер или админ) - ссылки ЧПУ. Все вышли - ссылки не ЧПУ =)
  11. Нет стокового jquery и части картинок. Поправил запросы, добавил картинки и js. pavblog_rus_seopro_1.zip pavblog_rus_seopro_1.zip
  12. Ищите лишние пробелы между oc_ и url_alias в файлах модуля. Как минимум, в этом проблема. Я тоже не сразу заметил.\admin\model\pavblog\menu.php - здесь в запросе убрать перед url_alias public function getInfo( $id ){ $sql = ' SELECT m.*, md.title,md.description, (SELECT keyword FROM ' . DB_PREFIX . ' url_alias WHERE query = "id=' . (int)$id . '") AS meta_alias FROM ' . DB_PREFIX . 'pavblog_category m LEFT JOIN ' .DB_PREFIX.'pavblog_category_description md ON m.category_id=md.category_id AND language_id='.(int)$this->config->get('config_language_id') ; \admin\model\pavblog\blog.php - здесь убрать перед url_alias: public function getBlog( $blogId ){ $query = 'SELECT b.*, (SELECT keyword FROM ' . DB_PREFIX . ' url_alias WHERE query = "blog_id=' . (int)$blogId . '") AS meta_alias FROM ' . DB_PREFIX . 'pavblog_blog b LEFT JOIN ' . DB_PREFIX . 'pavblog_category c ON c.category_id=b.category_id'; \admin\model\pavblog\blog.php - здесь добавить после FROM: public function getBlog( $blogId ){ $query = 'SELECT b.*, (SELECT keyword FROM' . DB_PREFIX . 'url_alias WHERE query = "blog_id=' . (int)$blogId . '") AS meta_alias FROM ' . DB_PREFIX . 'pavblog_blog b LEFT JOIN ' . DB_PREFIX . 'pavblog_category c ON c.category_id=b.category_id';
  13. Включил ИМ в режим обслуживания (т.е. выключил для посетителей), и все ссылки приняли не ЧПУ вид. Норма? Что увидит бот, забегая в этот момент поиндексить странички: ЧПУ ссылки или "родные"?
  14. Возможно, вам это решение подойдет. Пока, к сожалению, не vqmod
  15. В конечном итоге, в manual.php сделал так: // Products $json['order_product'] = array(); $defcur = $this->model_setting_setting->getSetting('config'); ... $json['order_product'][] = array( 'product_id' => $product['product_id'], 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'download' => $download_data, 'quantity' => $product['quantity'], 'stock' => $product['stock'], 'price' => $this->currency->format($product['price'], $defcur['config_currency']), 'total' => $this->currency->format($product['total'], $defcur['config_currency']), 'tax' => $this->tax->getTax($product['price'], $product['tax_class_id']), 'reward' => $product['reward'] );
  16. ОК. Большое спасибо, mpn2005! Реально помогли.
  17. mpn2005, я тогда задам еще один вопрос, на эту же тему. В табе Итоги выводится общая сумма и налог. В шаблоне это строка: <td class="right"><?php echo $order_total['value']; ?></td> Выводятся цены без копеек. Я пошел по легкому пути, увидел в БД поле text и вывел его: <td class="right"><?php echo $order_total['text']; ?></td> Но это же не верно?
  18. Заметил следующее. Зашел как покупатель (не логинился, просто открыл главную), установил валюту евро. Зашел в админку админом, открыл кем-то ранее созданный заказ, изменил кол-во товара и отправил запрос (нажал кнопку) - цены стали в евро )))). Это если вкладки открыты в одном браузере. Если в разных - такого не происходит
  19. mpn2005, спасибо! В контроллере я раньше эти правки внес. А вот manual.php... 7 раз смотрел на этот массив, и не заметил. Пытался передавать из него число 1111.22, и все работало. Не додумался =) Только у меня в контроллере: 'price' => $this->currency->format($product['price'], $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'], $order_info['currency_code'], $order_info['currency_value'])
  20. Цель проста - единый вид выводимых данных. Я занимался этим вопросом, и столкнулся с тем, что независимо от настроек валюты в админке, относительно количества разрядов после разделителя дробной и целой частей в некоторых местах формат вывода цен имеет отличный вид: либо хххх (целое), либо хххх.хххх (с плавающей точкой, но с бОльшим числом разрядов после точки). В админке у меня стандартно - 2 разряда после точки. Валюта рубль. Пробовал на чистом и "пиленном" ИМ, с разными валютами. Я пришел к выводу, что отображение цен в order_form.tpl не проработанно в 1.5.6. Пришлось вносить правки в контроллер и шаблон, Но полностью решить проблему не удается. После обновления формы (нажатия кнопки "Добавить товар", например) все цены выводится, игнорируя настройки валюты. Например, НДС высчитывается юолее 6 разрядов после точки. А цена и Итого - целые числа. Я не использую копеек в ИМ, но так не должно быть, по идее.
  21. Это происходит на чистом opencart 1.5.6, основная валюта: $ (с рублем тоже самое)
  22. Добавил скрины, чтобы было сразу понятно, о чем я тут глаголю: Нули после точки исчезают и в Total
  23. Посмотрел, ничего необычного не увидел... Я, похоже, в дебри залез. Почему-то действие "submit" ajax-ом вытаскивает цены без дробной части...
×
×
  • Створити...

Important Information

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