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

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    435

делал реализацию вывода товаров из той же категории ближайших по цене в две стороны с лимитом в 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    9

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти


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

    • От Vesheslav
      Случайно удалил в  модуле Рекомендуемые Home Page
      и не знаю как восстановить. пробовал переименовывать папки ниже - не помогает(((

       
    • От cmd

      View File


      "Рекомендуемые товары" в стиле METRO
      Красивые "Рекомендуемые товары"
      Модуль не требует vqmod и не использует дополнительных библиотек. Просто копируйте файл на фтп и используйте. Заменять файлы тоже не надо.
      Допускается вывод нескольких модулей на одной странице.
      Демо в центральной колонке: http://opencart.work...m/nicefeatured/
      Демо в центральной и боковой колонке: http://opencart.work...t&product_id=49
      Админка
      http://opencart.work...efeatured/admin
      логин и пас: demo
      Модуль найдете в списке модулей под названием "Nice Featured Module"
      Размер шрифта и блоков расчитывается автоматически на основании размера thumbnail, но при необходимости можно задать размер шрифта из админки. Такая потребность может возмникнуть, если длинна названия товара больше 90 символов.
      Кроссбраузерность: IE8+, Firefox 4+, Opera, Chrome, Safari 5+
      Справочная информация:
      1. Если модуль находится "В левой колонке" или "В правой колонке", то он будет автоматически выстраиваться в столбик.
      2. Если размер thumbnail (миниатюры) меньше 100х100, то получается некрасиво. Самый хороший результат в промежутке между 130х130 - 220х220
      Посмотрите другие мои работы
      Submitter cmd Submitted 12/25/2012 Category Модули Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart Несовместим ocStore Несовместим OpenCart.Pro, ocShop  
    • От cmd
      Красивые "Рекомендуемые товары"
      Модуль не требует vqmod и не использует дополнительных библиотек. Просто копируйте файл на фтп и используйте. Заменять файлы тоже не надо.
      Допускается вывод нескольких модулей на одной странице.
      Демо в центральной колонке: http://opencart.work...m/nicefeatured/
      Демо в центральной и боковой колонке: http://opencart.work...t&product_id=49
      Админка
      http://opencart.work...efeatured/admin
      логин и пас: demo
      Модуль найдете в списке модулей под названием "Nice Featured Module"
      Размер шрифта и блоков расчитывается автоматически на основании размера thumbnail, но при необходимости можно задать размер шрифта из админки. Такая потребность может возмникнуть, если длинна названия товара больше 90 символов.
      Кроссбраузерность: IE8+, Firefox 4+, Opera, Chrome, Safari 5+
      Справочная информация:
      1. Если модуль находится "В левой колонке" или "В правой колонке", то он будет автоматически выстраиваться в столбик.
      2. Если размер thumbnail (миниатюры) меньше 100х100, то получается некрасиво. Самый хороший результат в промежутке между 130х130 - 220х220
      Посмотрите другие мои работы
    • От AndreyPiv
      Здравствуйте. Подскажите плз. новичку.
      Есть категории с моделями телефонов, в этих категориях товары (запчасти для телефонов).
      Как сделать страничку, на которой будут находится товары из разных категорий (т.е. дисплей для ericsson, дисплей для сони, дисплей для ....) и чтобы эта страница не отображалась в меню?
      Можно создать категорию и там сделать "рекомендуемые" , в этом случае она будет отображаться в меню, а если отключить "Основной магазин", будет указано: "Категория не найдена!"
    • От optimlab


      Просмотр файла 4 модуля во вкладках
      Выводит четыре товарных модуля (Рекомендуемые, Акции, Хиты продаж, Новинки) в виде Табов или Панели одном модуле или нескольких модулях каждый на одной странице.
      Возможность включения-отключения слайдера карусели. Тач-слайд. Привязка к категории. Мультиязычный.  
      Возможности:
      Вывод модулей в виде Вкладок (табов). Вывод модулей в виде Панели Bootstrap. Адаптивность под размеры экранов. Свои размеры изображений товаров. Включение-Выключение краткого описания товара. Кол-во символов описания. Мультиязычность. Свои названия вкладок (кнопок)  с возможностью вставки своего HTML-кода. Порядок отображения вкладок (сортировка). Возможность использования сразу нескольких модулей на странице. Автоматическая адаптация заголовка (вкладки) при включении только одного модуля из четырёх. Привязка к категории  - отображение только тех товаров, которые принадлежат данной категории, если модуль выводится в категориях. Возможность включения слайдера-карусели. Очень удобно листать на маленьких экранах при использовании карусели. Настройка автовоспроизведения в миллисекундах после загрузки страницы. Настройка скорости слайдера. Включение-выключение остановки слайдинга при наведении курсора мыши. Включение-выключение отображения кнопок Вперед – Назад. Свой HTML-код для кнопок Вперед – Назад. Включение-Выключение пейджинга карусели.  
      Пример демо тут: opencart.optimlab.ru
       
      Лицензия:
      Модуль можно установить на один интернет-магазин. Следующий магазин оплачивается отдельно.  
      Установка (предварительно настройте FTP):
      Панель администратора -> Модули -> Установка расширений -> Загрузить файл архива. Панель администратора -> Модули -> 4 модуля во вкладках -> нажимаем Активировать. После активации заходим в модуль и настраиваем его. Добавляем модуль на нужный Макет.  
      Настройка своего стиля CSS:
      Так как возможностей стилизации и настроек стилей может быть бесконечное множество, зависящее от шаблона и фантазии вебмастера. Я не стал внедрять файл CSS в модуль и навязывать свой стиль, который с высокой вероятностью конфликтовал бы с вашим дизайном и настройками стилей CSS. Так же лишнее соединение браузера для скачивания файла ни к чему. Поэтому я решил оставить всё в следующем виде:
      Вы можете просто зайти в свой файл шаблона стилей находящийся по адресу:
      catalog/view/theme/НАЗВАНИЕ_ШАБЛОНА/stylesheet/stylesheet.css
       
      И вставить следующий код, который используется по умолчанию в демо-версии:
      .four-in-tab { margin-bottom: 40px; } .four-in-tab .owl-carousel { margin-bottom: 0; } .four-in-tab .owl-wrapper-outer { border: none; box-shadow: none; } .four-in-tab .owl-carousel .owl-buttons div i { font-size: 14px; margin: -20px 0 0; } .four-in-tab .nav-tabs > li { text-align: center; } .four-in-tab .owl-pagination { top: 10px; } .four-in-tab .pagination { vertical-align: middle; } .four-in-tab .product-thumb { margin-bottom: 0; } .four-in-tab .col-sm-3 .product-thumb { margin-bottom: 20px; } .panel-one .owl-carousel .owl-buttons .owl-next { right: 14px; top: -52px; opacity: 1; } .panel-one .owl-carousel .owl-buttons .owl-prev { left: inherit; right: 52px; top: -52px; opacity: 1; } Основываясь на нём вы можете его править как позволит ваша фантазия. Вы также можете заказать установку и настройку модуля под ваш дизайн сайта, воспользовавшись дополнительной опцией при покупке. И прислав мне на почту письмо с заявкой.
       
      Совместимость файлов с версией Opencart:
      four_in_tab-2.0.ocmod.zip    - Opencart 2.0.x - 2.1.x
      four_in_tab-2.2.1.ocmod.zip - Opencart 2.2.x
      four_in_tab-2.3.ocmod.zip    - Opencart 2.3.x
       
                           
      Добавил optimlab Добавлено 14.08.2017 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

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