Перейти к содержанию

PublicStaticJG

Новичок
  • Публикаций

    8
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о PublicStaticJG

  • Звание
    Новичок
  1. SELECT IF(t1.cprice>t1.price,1,-1)*(t1.cprice-t1.price),min(t1.rnd),t1.product_id,name,text,t2.attribute_id FROM (SELECT RAND() as rnd,pa2.product_id,pr.price,cpr.price as cprice,count(pa2.attribute_id) as quan FROM oc_product_attribute pa1 INNER JOIN oc_product_attribute pa2 ON (pa1.attribute_id = pa2.attribute_id and pa1.text = pa2.text and pa2.product_id <> pa1.product_id and pa1.language_id = pa2.language_id) INNER JOIN oc_product pr ON (pa2.product_id = pr.product_id and pr.status = 1) LEFT JOIN oc_product cpr ON (pa1.product_id = cpr.product_id) INNER JOIN oc_product_to_category cat_source on(pa1.product_id = cat_source.product_id) INNER JOIN oc_product_to_category cat on(pa2.product_id = cat.product_id AND cat.category_id = cat_source.category_id) WHERE pa1.product_id = '2095383381' AND pa1.language_id = '1' GROUP BY cpr.product_id,pr.price,cpr.price UNION ALL SELECT RAND() as rnd,cpr.product_id,cpr.price,pr.price as cprice, 1 as quan FROM oc_product pr LEFT JOIN oc_product cpr ON (pr.product_id <> cpr.product_id and cpr.status = 1) INNER JOIN oc_product_to_category cat_source ON (pr.product_id = cat_source.product_id) INNER JOIN oc_product_to_category cat ON (cpr.product_id = cat.product_id AND cat.category_id = cat_source.category_id) WHERE pr.product_id = '2095383381' GROUP BY cpr.product_id,pr.price,cpr.price order by quan desc) t1 INNER JOIN oc_product_to_category cat on(t1.product_id = cat.product_id) LEFT JOIN (select '' as name, '' as text, 0 as attribute_id) as t2 on (0=0) WHERE 0=0 GROUP BY IF(t1.cprice>t1.price,1,-1)*(t1.cprice-t1.price),product_id,name,text,attribute_id ORDER BY t1.rnd, t1.product_id LIMIT 4 Модуль используется на странице в трех местах. В двух есть ограничение по атрибутам и категориям. В одном (выше) нет. Стоит ограничение только "В пределах одной категории". Это попытка использования в качестве рандомных рекомендуемых. Время выполнения данного запроса составляет 15 секунд. Есть идеи?
  2. Привет. Может кто-нибудь сталкивался и подкинет пару вариантов модулей. Суть. На сайт будут добавлены новые категории и нужно распределить большое количество товаров по ним на основании значения атрибутов. Будет, например, новая категория "Вкусный сыр", в которую должны войти все товары из категории "Сыр", имеющие значение атрибута "Вкус" - "Вкусный". Я представляю как это сделать через SQL, но готовое решение с гуем меня порадовало бы гораздо больше. Спасибо.
  3. Можно начать со ссылки на сайт =) А вообще скорее всего дело в этом https://ocshop.info/korrektnyj-status-404/
  4. Я бы не пошел на форум, если бы до этого поисковиком не пользовался. В этот раз не сложилось найти информацию просто)
  5. В контроллере admin/controller/common/login. Это если 2.3.0.2 и в других версиях ничего не менялось. 11 строчка $this->response->redirect($this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)); 20 строчка $this->response->redirect($this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)); common/dashboard - необходимый роут
  6. Господа пацаны, может кто-нибудь доводил до ума виджет корзины? Если конкретно, то раздражает, что во время, например, удаления товара из корзины, за эти 100мс она успевает отобразить старый результат. Посему, после текста загрузки на кнопке идет двойной прыжок. complete: function() { $('#cart > button').button('reset'); }, success: function(json) { // Need to set timeout otherwise it wont update the total setTimeout(function () { $('#cart > button').html('Новая кнопка с тоталом'); }, 100); ) Может кто-нибудь подскажет вариант, как можно это дело переписать или замаскировать? И отдельно буду благодарен за разъяснение работы или ссылку на сорс метода button('reset').
×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.