Bizon Опубліковано: 13 жовтня 2011 Share Опубліковано: 13 жовтня 2011 Сегодня скачал Модуль Auto Related для OpenCart v.1.5.1 который автоматически по похожим названиям товаров добавит найденные в список рекомендуемых. Мне это понравилось, потому что в админке я не добавил ни одного рекомендуемого товара. Мод действительно сам добавляет в список рекомендуемых товары. Вопрос вот в чем. Модуль добавляет в список рекомендуемых товары со схожими именами, например к товару iPhone будут добавлены товары с именами iPod Classic, iPod Touch, iPod Nano ну и так далее. Так вот, а как бы сделать, чтобы этот модуль добавлял в список рекомендуемых товары не по названию, а из той же категории. Например: Если iPhone принадлежит к категории Телефоны, то в списке рекомендуемых у него были другие товары, скажем samsung e-350, который тоже принадлежит категории Телефоны. Как видно из примера названия у товаров разные, но принадлежат они одной категории. Вот и хотелось бы, чтобы это мод делал так я написал в примере. Может кто подскажет как это сделать? Вот архив с модулем. Заранее спасибо. autorelate.zip Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 13 жовтня 2011 Share Опубліковано: 13 жовтня 2011 он по категориям и ищет Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Сегодня скачал Модуль Auto Related для OpenCart v.1.5.1 который автоматически по похожим названиям товаров добавит найденные в список рекомендуемых. Мне это понравилось, потому что в админке я не добавил ни одного рекомендуемого товара. Мод действительно сам добавляет в список рекомендуемых товары. Вопрос вот в чем. Модуль добавляет в список рекомендуемых товары со схожими именами, например к товару iPhone будут добавлены товары с именами iPod Classic, iPod Touch, iPod Nano ну и так далее. Так вот, а как бы сделать, чтобы этот модуль добавлял в список рекомендуемых товары не по названию, а из той же категории. Например: Если iPhone принадлежит к категории Телефоны, то в списке рекомендуемых у него были другие товары, скажем samsung e-350, который тоже принадлежит категории Телефоны. Как видно из примера названия у товаров разные, но принадлежат они одной категории. Вот и хотелось бы, чтобы это мод делал так я написал в примере. Может кто подскажет как это сделать? Вот архив с модулем. Заранее спасибо. Идея не плохая, но алгоритм Вы не описали, например если делать рекомендуемые отталкиваясь от цены и категории товара, то будет не очень красиво если на запрошенную батарейку к самсунгу вывалится батарейка от соньки (криво больше подходит), да даже если будет тоже самсунг но другой модели, если будет такая логика, то модуль по факту бесполезен (как и в текущем состоянии)iPhone и iPod Classic это разные категории, и для совпадения по именам Apple это исключение из правил, с Samsung или LG такое не пройдёт, как и в большинстве случаев для других вендоров. Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 для исключения из правил можно задавать продукты вручную. модуль вроде это позволяет... и автоматически related товары подбираются только там, где они не заданы. нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 для исключения из правил можно задавать продукты вручную. модуль вроде это позволяет... и автоматически related товары подбираются только там, где они не заданы. нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар не совсем понятен смысл тогда автогенерации рекомендуемые, рекомендоватть можно по признаку или группе признаков, к таковым может относится цена товара, похожие харатеристики, политика продажи определённого товара и т.д.Но вот рандом здесь никак не может иметь место быть, к примеру вы смотрите телефон с QWERTY - модуль выдаст вам рекомендуемый...? именно... без QWERTY: бесполезно более чем и у покупателя осадочек... и таких исключений будет масса... Хотя всё зависит от типа продукции... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Хотя всё зависит от типа продукции... да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" а такие существуют? для 1.0.1? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а такие существуют? для 1.0.1?Видел точно, но платный или нет не припомню... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Другие дополнения Модуль Auto Related для OpenCart v.1.5.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Сегодня скачал Модуль Auto Related для OpenCart v.1.5.1 который автоматически по похожим названиям товаров добавит найденные в список рекомендуемых. Мне это понравилось, потому что в админке я не добавил ни одного рекомендуемого товара. Мод действительно сам добавляет в список рекомендуемых товары. Вопрос вот в чем. Модуль добавляет в список рекомендуемых товары со схожими именами, например к товару iPhone будут добавлены товары с именами iPod Classic, iPod Touch, iPod Nano ну и так далее. Так вот, а как бы сделать, чтобы этот модуль добавлял в список рекомендуемых товары не по названию, а из той же категории. Например: Если iPhone принадлежит к категории Телефоны, то в списке рекомендуемых у него были другие товары, скажем samsung e-350, который тоже принадлежит категории Телефоны. Как видно из примера названия у товаров разные, но принадлежат они одной категории. Вот и хотелось бы, чтобы это мод делал так я написал в примере. Может кто подскажет как это сделать? Вот архив с модулем. Заранее спасибо. Идея не плохая, но алгоритм Вы не описали, например если делать рекомендуемые отталкиваясь от цены и категории товара, то будет не очень красиво если на запрошенную батарейку к самсунгу вывалится батарейка от соньки (криво больше подходит), да даже если будет тоже самсунг но другой модели, если будет такая логика, то модуль по факту бесполезен (как и в текущем состоянии)iPhone и iPod Classic это разные категории, и для совпадения по именам Apple это исключение из правил, с Samsung или LG такое не пройдёт, как и в большинстве случаев для других вендоров. Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 для исключения из правил можно задавать продукты вручную. модуль вроде это позволяет... и автоматически related товары подбираются только там, где они не заданы. нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 для исключения из правил можно задавать продукты вручную. модуль вроде это позволяет... и автоматически related товары подбираются только там, где они не заданы. нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар не совсем понятен смысл тогда автогенерации рекомендуемые, рекомендоватть можно по признаку или группе признаков, к таковым может относится цена товара, похожие харатеристики, политика продажи определённого товара и т.д.Но вот рандом здесь никак не может иметь место быть, к примеру вы смотрите телефон с QWERTY - модуль выдаст вам рекомендуемый...? именно... без QWERTY: бесполезно более чем и у покупателя осадочек... и таких исключений будет масса... Хотя всё зависит от типа продукции... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Хотя всё зависит от типа продукции... да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" а такие существуют? для 1.0.1? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а такие существуют? для 1.0.1?Видел точно, но платный или нет не припомню... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Другие дополнения Модуль Auto Related для OpenCart v.1.5.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 для исключения из правил можно задавать продукты вручную. модуль вроде это позволяет... и автоматически related товары подбираются только там, где они не заданы. нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар Надіслати Поділитися на інших сайтах More sharing options...
costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 для исключения из правил можно задавать продукты вручную. модуль вроде это позволяет... и автоматически related товары подбираются только там, где они не заданы. нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар не совсем понятен смысл тогда автогенерации рекомендуемые, рекомендоватть можно по признаку или группе признаков, к таковым может относится цена товара, похожие харатеристики, политика продажи определённого товара и т.д.Но вот рандом здесь никак не может иметь место быть, к примеру вы смотрите телефон с QWERTY - модуль выдаст вам рекомендуемый...? именно... без QWERTY: бесполезно более чем и у покупателя осадочек... и таких исключений будет масса... Хотя всё зависит от типа продукции... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Хотя всё зависит от типа продукции... да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" а такие существуют? для 1.0.1? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а такие существуют? для 1.0.1?Видел точно, но платный или нет не припомню... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Другие дополнения Модуль Auto Related для OpenCart v.1.5.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Хотя всё зависит от типа продукции... да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Надіслати Поділитися на інших сайтах More sharing options...
costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 да. от продукции.. и от структуры самого магазина, организации каталогов в моем случае, для сувенирной продукции - это практически идеальное решение Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" а такие существуют? для 1.0.1? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а такие существуют? для 1.0.1?Видел точно, но платный или нет не припомню... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Другие дополнения Модуль Auto Related для OpenCart v.1.5.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории" а такие существуют? для 1.0.1? Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а такие существуют? для 1.0.1?Видел точно, но платный или нет не припомню... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Другие дополнения Модуль Auto Related для OpenCart v.1.5.1 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а такие существуют? для 1.0.1?Видел точно, но платный или нет не припомню... Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Другие дополнения Модуль Auto Related для OpenCart v.1.5.1
SaSS Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории не знаю какая проблема у автора темы, но свою ошибку я увидел (((( я использую не opencart 1.5.1 а ocstore 1.0.1 а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом вот и выбирается товар непонятно как... похоже из всех категорий к которым принадлежит товар (а нужно только из главной) так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен) Надіслати Поділитися на інших сайтах More sharing options...
costas Опубліковано: 14 жовтня 2011 Share Опубліковано: 14 жовтня 2011 а вы точно тот модуль выслали во вложении? вот код из него $sql=" select *,p.product_id as related_id from " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in (select product_id from " . DB_PREFIX . "product_to_category where category_id in (SELECT category_id FROM " . DB_PREFIX . "product_to_category where 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') . "' limit 30"; этот код выбирает из базы товары из той же категории офтоп...увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности... Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options... costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Надіслати Поділитися на інших сайтах More sharing options...
costas Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спрошу еще раз ) вдруг у кого найдется время помочь адаптировать этот запрос для ocStore 1.0.1 совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу: просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category нужно чтобы product_id брался из product_to_category только если она главная (main_category =1) http://screencast.com/t/hH0swIk88L Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) ) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта $sql = "SELECT *,p.product_id AS related_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' LIMIT 30"; З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе) 2 Надіслати Поділитися на інших сайтах More sharing options... SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options... Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
SaSS Опубліковано: 27 жовтня 2011 Share Опубліковано: 27 жовтня 2011 спасибо! второй вариант подошел идеально. именно то, что и было нужно PS: Скорость оценить сложно, но визуально вроде не изменилась Надіслати Поділитися на інших сайтах More sharing options...
Bizon Опубліковано: 31 жовтня 2011 Автор Share Опубліковано: 31 жовтня 2011 Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продуктаСпасибо. У меня тоже второй вариант запроса работает теперь идеально. Теперь товары в рекомендуемых показываются из той же категории. Просто я думал, что openCart и ocStore это одно и тоже, а оказывается это не так.И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931 И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts