Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

fitolavr

Новичок
  
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

fitolavr's Achievements

Rookie

Rookie (2/14)

  • Dedicated Rare
  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputation

  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. Опции не предлагайте, ик как нужен нормальный учет товара.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.