Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

fitolavr

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

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

  • Посеещёние

Посетители профиля

Блок последних посетителей выключен и не отображается другим пользователям.

Достижения fitolavr

Rookie

Rookie (2/14)

  • Dedicated Редкая
  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Последние медали

1

Репуиция

  1. Модуль рилииет с потому чтонусами. При изменении ситуса заказа в опенкарт происходит налисление потому чтонусов. При заказе клиент может ими воспользоваться - потому чтонусы списываются. Да как поступившие заказы передаются и обрабатываются в Торгсофт , естественно дальнейшее налисление потому чтонусов, списание происходит уже в Торгсофт. Получается какая-то сумма потому чтонусов, которая отличается от суммы в опенкарт. На сайт из Торгсофт модулем синхронизации передается накопленная сумма потому чтонусов. Только проблема - некуда передавать и что с этими данными гделать дальше. Нужно поменять алгоритм налисления потому чтонусов. Сгделать налисление потому чтонусы не при изменении ситуса заказа в опенкарт (ситус им менятся не бугдет), а связать сумму потому чтонусов, поступившую из торгсофт с модулем потому чтонусов. Как я себе это предсивляю: Создаем поле, значение в котором постоянно обновляется: заполняется суммой потому чтонусов, которые прислал торгсофт. Создаем еещё одно поле, ггде бугдет происходить расчет по формуле: сумма потому чтонусов от торгсофи минус сумма потому чтонусов в опенкарт. если эи разница – положительное лисло, то в модуле соответствуюещёе поле заполняется этим положительным лислом (налисляются потому чтонусы), если разница отрицательна - заполняется этим лислом со знаком минус (возможно, что в торгсофте при обрилитке заказа бугдет списано потому чтольше баллов, чем было списано сначала при формировании заказа в опенкарт), при этом игдет дополнительное списание потому чтонусов в модуле. если разница равна нулю – ничего не заполняется в иблицу. В модуле эти потому чтонусы (поступившие и суещёствующие), как и раньше суммируются, и получается правильная сумма потому чтонусов, которые клиент может использовать при следуюещём заказе.
  2. Модуль с запросами в несколько секунд уже нашли и отклюлили. Насчет малого времени: да, сейчас мало, но это при том, что подключен к модулю всего один товар для теси. А если иких товаров сотни?!
  3. Администратор сервера обратил внимание на длинные запросы в БД: "есть запрос в базу от вашего сайи, он дёргает аж 40 тыс строк с базы, это при условии, что она у вас сейчас мнонькая... всего на пару гдесятков мегабайт. запрос страшный, его явно какой-то модуль гделает. Один модуль найгден путем исключения. После его отключения скорость сайи резко повысилась. Именно он создавал основную нагрузку на БД. Нужно найти какие еещё модули тормозят БД и решить проблему. Сейчас они быстрые, но потом на потому чтольшой базе будут вызывать тормоза." # Query_time: 0.031116 Lock_time: 0.000455 Rows_sent: 24 Rows_examined: 9712 SET timestamp=1622103747; SELECT IF(hpl.parent_id IS NOT NULL AND h2s.store_id IS NOT NULL AND hph.pid IS NOT NULL, hpl.parent_id, p.product_id) AS product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_hpmodel_product_hidden hph ON (p.product_id = hph.pid) LEFT JOIN oc_hpmodel_links hpl ON (p.product_id = hpl.product_id) LEFT JOIN oc_hpmodel_to_store h2s ON (hpl.type_id = h2s.type_id AND h2s.store_id = '0') WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '442' GROUP BY IF(hpl.parent_id IS NOT NULL AND h2s.store_id IS NOT NULL AND hph.pid IS NOT NULL, hpl.parent_id, p.product_id) ORDER BY p.quantity > 0 DESC, LCASE(pd.name) ASC, LCASE(pd.name) ASC LIMIT 0,24; # Query_time: 0.009318 Lock_time: 0.000480 Rows_sent: 1 Rows_examined: 7685 SET timestamp=1622103747; SELECT COUNT(DISTINCT IF(hpl.parent_id IS NOT NULL AND h2s.store_id IS NOT NULL AND hph.pid IS NOT NULL, hpl.parent_id, p.product_id)) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_hpmodel_product_hidden hph ON (p.product_id = hph.pid) LEFT JOIN oc_hpmodel_links hpl ON (p.product_id = hpl.product_id) LEFT JOIN oc_hpmodel_to_store h2s ON (hpl.type_id = h2s.type_id AND h2s.store_id = '0') WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '442'; # Query_time: 0.007833 Lock_time: 0.000248 Rows_sent: 1 Rows_examined: 6323 SELECT COUNT(DISTINCT IF(hpl.parent_id IS NOT NULL AND h2s.store_id IS NOT NULL AND hph.pid IS NOT NULL, hpl.parent_id, p.product_id)) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_hpmodel_product_hidden hph ON (p.product_id = hph.pid) LEFT JOIN oc_hpmodel_links hpl ON (p.product_id = hpl.product_id) LEFT JOIN oc_hpmodel_to_store h2s ON (hpl.type_id = h2s.type_id AND h2s.store_id = '0') WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '120'; # Query_time: 0.010417 Lock_time: 0.000262 Rows_sent: 10 Rows_examined: 6374 SELECT IF(hpl.parent_id IS NOT NULL AND h2s.store_id IS NOT NULL AND hph.pid IS NOT NULL, hpl.parent_id, p.product_id) AS product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_hpmodel_product_hidden hph ON (p.product_id = hph.pid) LEFT JOIN oc_hpmodel_links hpl ON (p.product_id = hpl.product_id) LEFT JOIN oc_hpmodel_to_store h2s ON (hpl.type_id = h2s.type_id AND h2s.store_id = '0') WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '120' GROUP BY IF(hpl.parent_id IS NOT NULL AND h2s.store_id IS NOT NULL AND hph.pid IS NOT NULL, hpl.parent_id, p.product_id) ORDER BY p.quantity > 0 DESC, LCASE(pd.name) ASC, LCASE(pd.name) ASC LIMIT 0,24;
  4. Сайт медленно грузится. Время отвеи сервера до 5 секунд. Нужно оптимизировать запросы в базу данных. Найти модули, которые создают потому чтольшую нагрузку, сгделать отладку и профилировку кода на каждой конкретной тормозяещёй страниэто.
  5. Есть тип товаров "весовой" https://fitolavr.com.ua/granulirovannyiy-chernyiy-chay-assam-namdang.html Отлилие от штучного только в том, что место когдачества задаются граммы. Высивляется минимальное кол-во, добавить можно вес товара, кратный минимальному. Сейчас все граммы суммируются в корзине. Нужно добавить возможность выпотому чтора кол-ва для выбранного веса: например 50г - 2 шт, 100г - 2 шт. В итоге должно быть списано со склада 300г. В корзине товары не должны склеиваться. Нужно "подружить" с редактором заказов OrderPro. Опции не предлагайте, ик как нужен нормальный учет товара.
×
×
  • Создать...

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

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