Рекомендуемые сообщения

sseoh    6

Привет форумчани, подскажите как на опен карте 1.5 убрать рекомендуемость товаров в 2 стороны.

То есть если товар А рекомендует товар Б, тогда товар Б автоматически рекомендует товара А.

На просторах интернета я нашел статью "Баг или фича" из всего этого я понял что в admin/model/catalog/product.php

Есть запросы на удаление и добавление товара, эта статья писалась под 1.4 я так понимаю, потому что с 1.5 она работает не корректно.

В итоге если я рекомендую товрау А товар Б, то они прописываются в 1 сторону корректно, а если ещё добавить с Б на А, тогда рекомендуемость с А на Б слетит. Вот мои коды, подскажите что не так.

public function addProduct($data) {

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

public function editProduct($product_id, $data) {

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sseoh    6

Конечно помощи от сообщества я не дождался, но в глаза попали строки

Решение:

В public function addProduct($data) {

найдите и закоментрируйте как у меня 2 последнии строки:

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

В public function editProduct($product_id, $data) {

найдите и закоментируйте как у меня:


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

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

Получатся полноценные цепочки, товар А можно будет сослать на товар Б, а товар Б на товар А, и так далее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yoda    510

делал реализацию вывода товаров из той же категории ближайших по цене в две стороны с лимитом в 4 штуки по моему - смотреть тут...

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

http://molotochek.com.ua/elektroinstrumenti/perforatory/perforator-makita-hr-2470

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Nativo    0

Добрый попытался такое сделать на версии 1.5.1.3

Теперь при выборе вкладки товары в админке выдает ошибку

Fatal error: Cannot redeclare class ModelCatalogProduct in /home/cvy/dvrstore.ru/docs/admin/model/catalog/product.php on line 1556

Перезапись чистыми файлами не помогает.

Подскажите плиз как быть?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sseoh    6

Откройте файл /home/cvy/dvrstore.ru/docs/admin/model/catalog/product.php и посмотрите строчку 1556 (можно через notepad ++)

Если сами не поймете в чем дело, скиньте её сюда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
yanpetr    10

ocstore 1.5.3 у меня не работает данная схема. Кто-нибудь знает решение как избавиться от двойной рекомендации???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 424

ocstore 1.5.3 у меня не работает данная схема. Кто-нибудь знает решение как избавиться от двойной рекомендации???

в первом посту решение верное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
yanpetr    10

в первом посту решение верное

Странно, но у меня если рекомендуешь товару А товар Б то Б автоматически рекомендует А.

Сделал по первому и второму способу

product.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alexa    2

ocStore 1.5.2.1.

Я может что-то не допоняла, но, сделав изменения в admin/model/catalog/product.php по варианту #2 - всё осталось абсолютно по-прежнему - как была перелинковка в 2 стороны, так осталась.....

Вопрос снят - после этих изменений в файле экспорта-импорта нужно было удалить ссылочные id с ненужных позиций..

Изменено пользователем Alexa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marinka    0

Конечно помощи от сообщества я не дождался, но в глаза попали строки

Решение:

В public function addProduct($data) {

найдите и закоментрируйте как у меня 2 последнии строки:

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

В public function editProduct($product_id, $data) {

найдите и закоментируйте как у меня:


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

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

Получатся полноценные цепочки, товар А можно будет сослать на товар Б, а товар Б на товар А, и так далее.

вот хоть хоть убейте, но у меня нет таких строк. 1.5.4.1

как в этой версии кто-нибудь знает?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marinka    0

разобралась) к каталоге ковыряла вместо админки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
djat    1

В итоге происходили удаления связывания товаров, начал разбираться, и в итоге сделал:

 

Все делаем как в первом посту

 

+ еще закоментировать надо строку

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

И все заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
barrel    21

OcStore 1.5.4.1

2-й вариант прописал. Работает норм!

sseoh респект.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sseoh    6

Рад помочь, я вернулся на форум, будут вопросы - с удовольствием отвечу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
qwert5005    4

Всем привет. У меня другая проблема. Связываю рекомендованные товары, но они стали отображаться как попало. Допустим связал один товар, назовем его 10 карандашей с товаром 20 карандашей. 20 карандашей связал с 30 карандашей и т.д. В итоге на той странице где 20 карандашей рекомендованные меняются почему то местами и отображается справа 10 карандашей, а слева 30.  На следующей странице отображение нормальное, т.е. большее количество справа, меньшее слева. 

 

Подскажите, как сделать что бы товар отображался нормально? Пробовал ваш способ, но он мне ничего не дал. По какой логике Опенкарт товар располагает в рекомендованных? Может надо id у товара где то поменять? А то винегрет получается, то слева товар который должен быть справа, то наоборот. Пробовал менять через админку последовательность добавления (что бы один товар был над другим и наоборот) но это тоже ничего не дало. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
qwert5005    4

После изменений которые вы рекомендовали, становиться невозможным отредактировать название товара. Вернул все как было

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
H3blade    0

Opencart 1.5.5.1.2 все работает нормально. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
knopic    0

Добрый вечер!

Что-то не пойму разницу) Сделала как во втором посте. До изменения товар А ссылается на товар Б, автоматически товар Б ссылается на товар А. После изменения файла все то же самое. В чем суть изменения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Maknae    0

как можно сделать вот это все как карусель? как цепочку???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От Nymphetamine

      650.00 руб
      Скачать/Купить дополнение


      Owl карусель товаров

       
      Особенности:
      Настраиваемая адаптивность товаров. Настраиваемое отображение. Возможность разбивать карусель на табы. Возможность привязывать уникальные карусели [Новинки, Акции, и т.п.] к текущей странице категорий или карточки товара. Поддержка сенсорных событий (свайп-жесты). Поддержка слайд событий мышью. Отложенная загрузка картинок (lazy load). Автопрокрутка. Постраничная прокрутка. Кеширование модуля (по желанию можно отключить).  
      Вывод товаров по:
      Дате. Акциям. Производителю. Рейтингу. Популярным Лидерам продаж. Выборочным товарам.  
      Отображение:
      Заголовок. Название товара. Цена товара. Рейтинг товара. Кнопка корзины. Кнопка закладки. Кнопка сравнение. Пагинация. Навигация. И многое другое..  
      При помощи данного модуля легко можно реализовать:
      Новинки. Акции. Рекомендуемые. Лидеры продаж. Хиты продаж. Случайные товары. Похожие товары. Просмотренные товары. и многое другое..
      Гибкая настройка вывода:
      Источник товаров - выводить товары, только из определенной категории / выборочные товары / просмотренные товары. Фильтр по производителю - все производители сразу, или какой-то определенный. Сортировка и фильтрация - по дате добавления, по рейтингу, по популярным, по порядку, только лидеры продаж, только товары со скидками.  
      * Весь функционал настраиваться из админ. панели.
      * Не требует vqmod/ocmod.
      * Простой в установке.
       
      Демо OpenCart 1.5x
      Демо
      Админка - логин и пароль: demo
       
      Демо OpenCart 2x
      Демо
      Админка - логин и пароль: demo
       
      Демо OpenCart 3x
      Демо
      Админка - логин и пароль: demo
       
      Живые примеры сайтов работающие с данным модулем:
      https://mr-apple.ru https://amperlumen.ru
      http://automusic.net.ua http://shwkclothing.com http://eudoratex.com Добавил Nymphetamine Добавлено 08.11.2014 Категория Модули Системные требования Сайт разработчика http://greenmedia.ua Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Не проверялось  
    • От Nymphetamine

       
      Особенности:
      Настраиваемая адаптивность товаров. Настраиваемое отображение. Возможность разбивать карусель на табы. Возможность привязывать уникальные карусели [Новинки, Акции, и т.п.] к текущей странице категорий или карточки товара. Поддержка сенсорных событий (свайп-жесты). Поддержка слайд событий мышью. Отложенная загрузка картинок (lazy load). Автопрокрутка. Постраничная прокрутка. Кеширование модуля (по желанию можно отключить).  
      Вывод товаров по:
      Дате. Акциям. Производителю. Рейтингу. Популярным Лидерам продаж. Выборочным товарам.  
      Отображение:
      Заголовок. Название товара. Цена товара. Рейтинг товара. Кнопка корзины. Кнопка закладки. Кнопка сравнение. Пагинация. Навигация. И многое другое..  
      При помощи данного модуля легко можно реализовать:
      Новинки. Акции. Рекомендуемые. Лидеры продаж. Хиты продаж. Случайные товары. Похожие товары. Просмотренные товары. и многое другое..
      Гибкая настройка вывода:
      Источник товаров - выводить товары, только из определенной категории / выборочные товары / просмотренные товары. Фильтр по производителю - все производители сразу, или какой-то определенный. Сортировка и фильтрация - по дате добавления, по рейтингу, по популярным, по порядку, только лидеры продаж, только товары со скидками.  
      * Весь функционал настраиваться из админ. панели.
      * Не требует vqmod/ocmod.
      * Простой в установке.
       
      Демо OpenCart 1.5x
      Демо
      Админка - логин и пароль: demo
       
      Демо OpenCart 2x
      Демо
      Админка - логин и пароль: demo
       
      Демо OpenCart 3x
      Демо
      Админка - логин и пароль: demo
       
      Живые примеры сайтов работающие с данным модулем:
      https://mr-apple.ru https://amperlumen.ru
      http://automusic.net.ua http://shwkclothing.com http://eudoratex.com
    • От Papasan4ez

      450.00 руб
      Скачать/Купить дополнение


      Карусель продуктов
      Новинки,Акции,Рекомендуемые,Хиты продаж,Популярные,
      Продукты из выбранной категории,Продукты из выбранного производителя
      Множество настроек.
      Привязка к категории:каждую созданную группу продуктов можно вывести в любой категории.
       
      Не заменяет файлы движка.
      Язык: en/ru.
      Тестировалось на opencart,ocstore:
      2.0
      2.1
      2.2
      2.3
      Демо: http://ope2.web-rgb.ru/
      Админка: http://ope2.web-rgb.ru/admin
      логин demo
      пароль demo
      Установка:
      Распаковать содержимое модуля/модулей в корень сайта.

      Добавил Papasan4ez Добавлено 30.10.2016 Категория Слайдшоу, баннеры, галереи Системные требования Сайт разработчика Старая цена Метод активации Без активации
      Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop  
    • От Papasan4ez
      Новинки,Акции,Рекомендуемые,Хиты продаж,Популярные,
      Продукты из выбранной категории,Продукты из выбранного производителя
      Множество настроек.
      Привязка к категории:каждую созданную группу продуктов можно вывести в любой категории.
       
      Не заменяет файлы движка.
      Язык: en/ru.
      Тестировалось на opencart,ocstore:
      2.0
      2.1
      2.2
      2.3
      Демо: http://ope2.web-rgb.ru/
      Админка: http://ope2.web-rgb.ru/admin
      логин demo
      пароль demo
      Установка:
      Распаковать содержимое модуля/модулей в корень сайта.

    • От Vladislav2121
      Не могу понять, почему рекомендуемые не выстраиваются в одну линию, подскажите как поправить?

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу