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

Пошук по сайту

Результати пошуку за тегами 'аналоги'.

  • Пошук за тегами

    Введіть теги через кому.
  • Пошук по автору

Тип публікацій


Категорії і розділи

  • Основний
    • Новини та оголошення
    • Пропозиції та побажання
    • Акції, подарунки, конкурси та винагороди
  • Opencart 4.x
    • Opencart 4.x: Загальні питання
    • Opencart 4.x: Встановлення та оновлення
    • Opencart 4.x: Локалізація
    • Opencart 4.x: Налаштування та оптимізація
    • Opencart 4.x: Пісочниця
    • Opencart 4.x: Пошук модулів
    • Opencart 4.x: Звіти про помилки
  • Opencart 3.x
    • Opencart 3.x: Загальні питання
    • Opencart 3.x: Встановлення та оновлення
    • Opencart 3.x: Локалізація
    • Opencart 3.x: Налаштування та оптимізація
    • Opencart 3.x: Пісочниця
    • Opencart 3.x: Пошук модулів
    • Opencart 3.x: Звіти про помилки
  • Opencart 2.x
    • Opencart 2.x: Загальні питання
    • Opencart 2.x: Встановлення та оновлення
    • Opencart 2.x: Локалізація
    • Opencart 2.x: Налаштування та оптимізація
    • Opencart 2.x: Пісочниця
    • Opencart 2.x: Пошук модулів
    • Opencart 2.x / ocStore 2.x: Звіти про помилки
  • Реклама і просування
    • SEO-питання (оптимізація та просування магазину)
    • Контекстна реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Підтримка та відповіді на запитання.
    • Загальні питання
    • Встановлення, оновлення, налаштування
    • Шаблони, дизайн та оформлення магазину
    • Модулі та розширення
    • Допомога програмістам та розробникам
    • Мобильная витрина
    • Питання безпеки
    • Переклад
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Послуги
    • Створення магазинів під ключ
    • Дизайн, верстка та шаблони
    • Програмування, створення модулів, зміна функціональності
    • Налаштування та дрібна робота по вже існуючому сайту
    • Оновлення версії двигуна магазина
    • Наповнення магазину
    • Системне адміністрування (налаштування хостингу, серверів, ПЗ)
    • Інші послуги
  • Разное
    • Пользовательские обзоры дополнений
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению

Категорії

  • Шаблони
    • Безкоштовні шаблони
    • Платні шаблони
  • ФІльтри
  • Цены, скидки, акции, подарки
  • Реклама та просування
  • Бонуси, купони, програми лояльності
  • Блоги, новости, статьи
  • Відгуки
  • Покупки, оформление заказа, корзина
  • Опції
  • Атрибуты
  • Серии, Комплекты
  • Поиск
  • SEO, карта сайта, оптимизация
  • Кэширование, сжатие, ускорение
  • Платіжні системи
  • Доставки
  • Редакторы
  • Меню, дизайн, внешний вид
  • Слайдшоу, баннеры, галереи
  • Листи, пошта, розсилки, sms
  • Обратная связь, звонки
  • Обмен данными
  • Учет в заказе
  • Сравнения, закладки
  • Социальные сети
  • Парсеры
  • Модули
  • Инструменты, утилиты
  • Лицензии
  • Локалізації
  • Інші розширення
  • Отчеты
  • Збірки
    • ocStore
  • Послуги
    • Графика и дизайн
    • Маркетинг

Категорії

  • Служебные документы
  • Оплата
  • Документація Opencart

Категорії

  • Загальні питання
  • Купівля доповнень
  • Для розробників
  • Акаунт
  • Технічна підтримка
  • Фінансовий відділ

Категорії

  • Інтерв'ю
  • Статті

Блоги

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Записи
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Мой копирайтинг
  • SEO боксинг специального назначения
  • Get-Web Dev
  • Seok
  • Блоги sitecreator-а
  • Best practice
  • Vlad-Egorov-Blog
  • Блог spectre
  • commanddotcom
  • Внимание мошенники
  • Наблюдения обычного человека
  • Блог Rassol2
  • Блог Exploits
  • блог для натуралов
  • Настюша, тут есть темы
  • Пропитано рекламой
  • Tutorial
  • ОтВинта
  • Tg chnls
  • Блог
  • Блог sv2109
  • КАК ОРГАНИЗОВАТЬ НОВОСТНЫЕ ПОДПИСКИ НА БАЗЕ API OPENCART 3/0/2
  • VDS/VPS, серверы под Linux: установка, настройка, оптимизация
  • IT блог
  • Блог
  • Opencart SEO
  • Путёвые заметки о работе магазина NiceBike на платформе OpenCart
  • Blondi Blog
  • Полезные статьи, новости.
  • Блог владельца магазина
  • разное
  • ПРОДАЖА АКАУНТОВ-binance ВЕРИФИЦИРОВАННЫe ЧИСТЫЕ УСПЕВАЙТЕ КУПИТЬ ПО НИЗКОЙ ЦЕНЕ
  • Диспансеризация
  • wozobat
  • quasarbyte
  • Мой блог
  • Igorych
  • aaaaa
  • 👌🔊Bellsouth CUSTOMER support number 1+(8O8)678=9O64-☎phone number
  • Liudmila marketer
  • Заметки реалиста
  • ocstore на ноліках
  • Про Opencart
  • Блог про рутинні процеси в магазині на ocsote
  • Radaevich
  • Плагіни Opencart
  • Крафтовий OpenCart: Старт пригоди. Ціна створення сайту на Опенкарт
  • Щось про щось
  • Від власника до розробника

Шукати результати в ...

Шукати результати, які ...


Дата створення

  • Почати

    Кінець


Останнє оновлення

  • Почати

    Кінець


Фільтр за кількістю ...

З нами

  • Почати

    Кінець


Група


Сайт


Skype


Місто:


Інтереси

Знайдено 3 результата

  1. Версія 1.8

    This module is designed to retain customers on your site, even if the product they selected is out of stock. Instead of the customer simply leaving the page, the module automatically displays a popup with a selection of similar or alternative products. This is especially important when traffic comes from search engines — a user lands on a product page that is out of stock but sees relevant alternatives and can continue shopping. Demo product Benefits of using the module: Increased conversion: The customer stays engaged by immediately seeing other options. Reduced bounce rate: Visitors remain on your site even when a product is unavailable. Fully automated: No need to manually add products — the selection is generated automatically. Improved SEO: Behavioral factors (browsing multiple pages, time on site) positively impact search engine rankings. Compatible with any OpenCart theme. Why you should buy this module: Retain potential customers even when products are out of stock. Boost sales through cross-selling and alternative suggestions. The module works automatically — saving manager’s time. Enhances your website's reputation — users feel supported in finding what they want. One-time purchase — long-lasting impact.
    15.00 USD
  2. 15 Скачать / Купить дополнение Данный модуль разработан для того, чтобы удержать клиента на сайте, даже если выбранный им товар отсутствует в наличии. Вместо того чтобы покупатель просто закрыл страницу, модуль автоматически показывает всплывающее окно с подборкой похожих или альтернативных товаров. Это особенно важно, когда трафик поступает из поисковых систем — пользователь заходит на страницу товара, которого нет в наличии, но сразу видит другие релевантные варианты и может перейти к покупке. Демо товар Преимущества использования модуля: Повышение конверсии: Клиент не теряет интерес, ведь сразу видит другие предложения. Снижение показателя отказов (bounce rate): Посетитель остаётся на сайте даже при отсутствии товара. Автоматическая работа: Вам не нужно вручную добавлять товары — подборка формируется автоматически. Улучшение SEO: Поведенческие факторы (просмотр нескольких страниц, время на сайте) положительно влияют на позиции в поиске. Совместимость с любым шаблоном OpenCart. Почему стоит купить этот модуль: Вы не теряете потенциальных клиентов даже при отсутствии товара. Увеличиваете продажи за счёт кросс-продаж и альтернативных предложений. Модуль работает автоматически — экономия времени менеджера. Улучшает репутацию сайта — пользователь видит, что ему действительно помогают найти нужное. Разовая покупка — долгосрочный эффект. Добавил OcEx Добавлено 25.04.2025 Категория Модули Ioncube Loader Требуется ocStore 3.0 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Да  
  3. Вопрос такой как вывести товары на основе похожих товаров ! Мной было реализовано следующие правки ! catalog/controller/product/search.php $results = $this->model_catalog_product->getProducts($data); //Вызов метода getFoundProducts должен проводится сразу же после getProducts //только тогда он выдает правильное значения количества товаров $product_total = $this->model_catalog_product->getFoundProducts(); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float) $result['special']) { $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float) $result['special'] ? $result['special'] : $result['price']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = (int) $result['rating']; } else { $rating = false; } /*original*/ $resultsRelated = $this->model_catalog_product->getProductRelated($result['product_id']); foreach ($resultsRelated as $resultRelated) { if ($result['image']) { $image_related = $this->model_tool_image->resize($resultRelated['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } else { $image_related = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price_resultRelated = $this->currency->format($this->tax->calculate($resultRelated['price'], $resultRelated['tax_class_id'], $this->config->get('config_tax'))); } else { $price_resultRelated = false; } if ((float) $resultRelated['special']) { $special = $this->currency->format($this->tax->calculate($resultRelated['special'], $resultRelated['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_review_status')) { $rating = (int) $resultRelated['rating']; } else { $rating = false; } $related[$result['product_id']][] = array( 'product_id_original' => $resultRelated['product_id'], 'thumb_original' => $image_related, 'name_original' => utf8_substr(strip_tags(html_entity_decode($resultRelated['name'], ENT_QUOTES, 'UTF-8')), 0, 26) . '', 'manufacturer_original' => $resultRelated['manufacturer'], 'original' => $resultRelated['original'], 'location_original' => $resultRelated['location'], 'minimum_original' => $resultRelated['minimum'], 'date_available_original' => $resultRelated['date_available'], 'quantity_original' => $resultRelated['quantity'], 'price_original' => $price_resultRelated, 'mode_originall' => $resultRelated['model'], 'model_no_original' => utf8_substr(strip_tags(html_entity_decode($resultRelated['model'], ENT_QUOTES, 'UTF-8')), 0, 1) . '____' . utf8_substr(strip_tags(html_entity_decode($resultRelated['model'], ENT_QUOTES, 'UTF-8')), -1) . '', 'special_original' => $special, 'rating_original' => $rating, 'description_original' => utf8_substr(strip_tags(html_entity_decode($resultRelated['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '', 'tax_original' => $tax, 'reviews_original' => sprintf($this->language->get('text_reviews'), (int) $resultRelated['reviews']), 'man_info_original' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $resultRelated['manufacturer_id']), 'href_original' => $this->url->link('product/product', 'product_id=' . $resultRelated['product_id']) ); } /*neoriginal*/ $resultsRelatedNeoriginal = $this->model_catalog_product->getProductRelatedNeoriginal($result['product_id']); foreach ($resultsRelatedNeoriginal as $resultRelatedNeoriginal) { if ($result['image']) { $image = $this->model_tool_image->resize($resultRelatedNeoriginal['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price_resultRelatedNeoriginal = $this->currency->format($this->tax->calculate($resultRelatedNeoriginal['price'], $resultRelatedNeoriginal['tax_class_id'], $this->config->get('config_tax'))); } else { $price_resultRelatedNeoriginal = false; } if ((float) $resultRelatedNeoriginal['special']) { $special = $this->currency->format($this->tax->calculate($resultRelatedNeoriginal['special'], $resultRelatedNeoriginal['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_review_status')) { $rating = (int) $resultRelatedNeoriginal['rating']; } else { $rating = false; } $related_neoriginal[$result['product_id']][] = array( 'product_id_neoriginal' => $resultRelatedNeoriginal['product_id'], 'thumb_neoriginal' => $image, 'name_neoriginal' => utf8_substr(strip_tags(html_entity_decode($resultRelatedNeoriginal['name'], ENT_QUOTES, 'UTF-8')), 0, 26) . '', 'manufacturer_neoriginal' => $resultRelatedNeoriginal['manufacturer'], 'minimum_neoriginal' => $resultRelatedNeoriginal['minimum'], 'location_neoriginal' => $resultRelatedNeoriginal['location'], 'original_neoriginal' => $resultRelatedNeoriginal['original'], 'quantity_neoriginal' => $resultRelatedNeoriginal['quantity'], 'date_available_neoriginal' => $resultRelatedNeoriginal['date_available'], 'description_neoriginal' => utf8_substr(strip_tags(html_entity_decode($resultRelatedNeoriginal['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '', 'price_neoriginal' => $price_resultRelatedNeoriginal, 'model_neoriginal' => $resultRelatedNeoriginal['model'], 'model_no_neoriginal' => utf8_substr(strip_tags(html_entity_decode($resultRelatedNeoriginal['model'], ENT_QUOTES, 'UTF-8')), 0, 1) . '____' . utf8_substr(strip_tags(html_entity_decode($resultRelatedNeoriginal['model'], ENT_QUOTES, 'UTF-8')), -1) . '', 'special_neoriginal' => $special, 'rating_neoriginal' => $rating, 'tax_neoriginal' => $tax, 'reviews_neoriginal' => sprintf($this->language->get('text_reviews'), (int) $resultRelatedNeoriginal['reviews']), 'man_info_neoriginal' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $resultRelatedNeoriginal['manufacturer_id']), 'href_neoriginal' => $this->url->link('product/product', 'product_id=' . $resultRelatedNeoriginal['product_id']) ); } /*komplect*/ $resultsRelatedKomplect = $this->model_catalog_product->getProductRelatedKomplect($result['product_id']); foreach ($resultsRelatedKomplect as $resultRelatedKomplect) { if ($result['image']) { $image = $this->model_tool_image->resize($resultRelatedKomplect['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height')); } else { $image = false; } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price_resultRelatedKomplect = $this->currency->format($this->tax->calculate($resultRelatedKomplect['price'], $resultRelatedKomplect['tax_class_id'], $this->config->get('config_tax'))); } else { $price_resultRelatedKomplect = false; } if ((float) $resultRelatedKomplect['special']) { $special = $this->currency->format($this->tax->calculate($resultRelatedKomplect['special'], $resultRelatedKomplect['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_review_status')) { $rating = (int) $resultRelatedKomplect['rating']; } else { $rating = false; } $related_komplect[$result['product_id']][] = array( 'product_id_komplect' => $resultRelatedKomplect['product_id'], 'thumb_komplect' => $image, 'name_komplect' => utf8_substr(strip_tags(html_entity_decode($resultRelatedKomplect['name'], ENT_QUOTES, 'UTF-8')), 0, 26) . '', 'manufacturer_komplect' => $resultRelatedKomplect['manufacturer'], 'date_available_komplect' => $resultRelatedKomplect['date_available'], 'description_komplect' => utf8_substr(strip_tags(html_entity_decode($resultRelatedKomplect['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '', 'original' => $resultRelatedKomplect['original'], 'minimum_komplect' => $resultRelatedKomplect['minimum'], 'quantity_komplect' => $resultRelatedKomplect['quantity'], 'price_komplect' => $price_resultRelatedKomplect, 'model_komplect' => $resultRelatedKomplect['model'], 'model_no_komplect' => utf8_substr(strip_tags(html_entity_decode($resultRelatedKomplect['model'], ENT_QUOTES, 'UTF-8')), 0, 1) . '____' . utf8_substr(strip_tags(html_entity_decode($resultRelatedKomplect['model'], ENT_QUOTES, 'UTF-8')), -1) . '', 'special_komplect' => $special, 'rating_komplect' => $rating, 'tax_komplect' => $tax, 'reviews_komplect' => sprintf($this->language->get('text_reviews'), (int) $resultRelatedKomplect['reviews']), 'man_info_komplect' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $resultRelatedKomplect['manufacturer_id']), 'href_komplect' => $this->url->link('product/product', 'product_id=' . $resultRelatedKomplect['product_id']) ); } // $categories - содержит оприделенный товар найденный по ID $categories = $this->model_catalog_product->getCategories($result['product_id']); // $categories_info - содержит оприделенную категорию найденную по ID $categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']); // В этом массиве добавляем 'related' и определяем её как вложенный массив сопутствующих товаров, который найден выше $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'minimum' => $result['minimum'], 'name' => utf8_substr(strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')), 0, 26) . '', 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '', 'quantity' => $result['quantity'], 'model' => utf8_substr(strip_tags(html_entity_decode($result['model'], ENT_QUOTES, 'UTF-8')), 0, 20) . '', 'model_no' => utf8_substr(strip_tags(html_entity_decode($result['model'], ENT_QUOTES, 'UTF-8')), 0, 1) . '____' . utf8_substr(strip_tags(html_entity_decode($result['model'], ENT_QUOTES, 'UTF-8')), -1) . '', 'manufacturer' => $result['manufacturer'], 'original' => $result['original'], 'price' => $price, 'zakup_price' => $result['zakup_price'], 'name_group' => $result['name'], 'location' => $result['location'], 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'date_available' => $result['date_available'], 'reviews' => sprintf($this->language->get('text_reviews'), (int) $result['reviews']), 'man_info' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']), 'related' => isset($related[$result['product_id']]) ? $related[$result['product_id']] : array(), 'related_neoriginal' => isset($related_neoriginal[$result['product_id']]) ? $related_neoriginal[$result['product_id']] : array(), 'related_komplect' => isset($related_komplect[$result['product_id']]) ? $related_komplect[$result['product_id']] : array(), 'description_dop' => html_entity_decode($categories_info['description_dop'], ENT_QUOTES, 'UTF-8') ); } Также /catalog/model/catalog/product public function getProductRelated($product_id) { $product_data = array(); $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 <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); foreach ($query->rows as $result) { if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']); } return $product_data; } /*Neoriginal*/ public function getProductRelatedNeoriginal($product_id) { $product_data = array(); $query_neoriginal = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related_neoriginal 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 <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); foreach ($query_neoriginal->rows as $result_neoriginal) { if( $product_id != $result_neoriginal['related_id'] )$product_data[$result_neoriginal['related_id']] = $this->getProduct($result_neoriginal['related_id']); } return $product_data; } /*komplect */ public function getProductRelatedKomplect($product_id) { $product_data = array(); $query_komplect = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related_komplect 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 <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); foreach ($query_komplect->rows as $result_komplect) { if( $product_id != $result_komplect['related_id'] )$product_data[$result_komplect['related_id']] = $this->getProduct($result_komplect['related_id']); } return $product_data; } теперь смотри у меня есть два товар ! к одному привязаны аналоги Делаем поиск у себя на сайте если я буду искать sn947 то мне покажет два товара все верно ! Теперь скопируем один из оригинальных аналогов и сделаем поиск ! В поиске покажет только тот товар который привязан SN947 но у меня есть еще товар SN947 от другово поставщика как мне его отобразить !? Я долго думал может нужно запрос подправить но потом ведь у меня есть product_id кароче запустался пацаны выручайте

×
×
  • Створити...

Important Information

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