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

Ускорение обработки запросов mysql


 Поделиться

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

39 минут назад, chukcha сказал:

А что делать, если авторы игнорят.

Смысл?

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

7 часов назад, Dimdimych сказал:

Вот-только не понятно, почему не все, а только некоторые товары имели такое огромное кол-во запросов? У других товаров количество запросов значительно не поменялось и находится в пределах 300.

 

Вероятно, дело в категории: если в категории текущего товара мало товаров - запросов меньше и наоборот. А запросов там столько, сколько товаров в категории текущего.

 

Это один из ярких примеров, когда автор модуля/шаблона не подозревает, что бывают магазины, где больше пары сотен товаров! И таких полно.

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


В 04.03.2017 в 14:04, vasilev86 сказал:

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

Осмелюсь предположить, что ни лично Вам, ни лично мне никто помочь не хочет, поэтому с такими претензиями - мимо.

Однако, люди заботятся об общей экологии всего проекта. И это, безусловно, очень полезно.

В том числе и для нас с вами. Как-то так.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


 

7 минут назад, florapraktik сказал:

Осмелюсь предположить, что ни лично Вам, ни лично мне никто помочь не хочет, поэтому с такими претензиями - мимо.

Однако, люди заботятся об общей экологии всего проекта. И это, безусловно, очень полезно.

В том числе и для нас с вами. Как-то так.

надеюсь, тфю тфю чтоб не сглазить.

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


  • 4 недели спустя...

Добрый день

Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000

 

1.  catalog/model/catalog/product.php

 

а)

Скрытый текст

SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5

 

б) 

Скрытый текст

SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5

 

время от 1000 до 1600 мс

 

2. catalog/model/catalog/search_mr.php

 

а)

Скрытый текст

SELECT DISTINCT SQL_CALC_FOUND_ROWS  (IF (LCASE(pd.name) LIKE '%makita bo3710   140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710   140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance,  p.product_id  FROM oc_product p 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_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0'  AND (  (  (LCASE(pd.name) LIKE '%makita%')  OR  (LCASE(pd.name) LIKE '%bo3710%')  OR  (LCASE(pd.name) LIKE '%140441-9%')  OR  (LCASE(pd.name) LIKE '%подошв%')  OR  (LCASE(pd.name) LIKE '%сбор%')  )  OR  (  (LCASE(pd.description) LIKE '%makita%')  OR  (LCASE(pd.description) LIKE '%bo3710%')  OR  (LCASE(pd.description) LIKE '%140441-9%')  OR  (LCASE(pd.description) LIKE '%подошв%')  OR  (LCASE(pd.description) LIKE '%сбор%')  )  OR  (  (LCASE(pd.tag) LIKE '%makita%')  OR  (LCASE(pd.tag) LIKE '%bo3710%')  OR  (LCASE(pd.tag) LIKE '%140441-9%')  OR  (LCASE(pd.tag) LIKE '%подошв%')  OR  (LCASE(pd.tag) LIKE '%сбор%')  )  OR  (  (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' )  )  OR  (  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%')  )  OR  (  (LCASE(p.sku) = 'makita')  OR  (LCASE(p.sku) = 'bo3710')  OR  (LCASE(p.sku) = '140441-9')  OR  (LCASE(p.sku) = 'подошв')  OR  (LCASE(p.sku) = 'сбор')  )  )  GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30

 

 

б)

Скрытый текст

SELECT DISTINCT SQL_CALC_FOUND_ROWS  (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance,  p.product_id  FROM oc_product p 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_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0'  AND (  (  (LCASE(pd.name) LIKE '%креплен%')  OR  (LCASE(pd.name) LIKE '%дл%')  OR  (LCASE(pd.name) LIKE '%забор%')  )  OR  (  (LCASE(pd.description) LIKE '%креплен%')  OR  (LCASE(pd.description) LIKE '%дл%')  OR  (LCASE(pd.description) LIKE '%забор%')  )  OR  (  (LCASE(pd.tag) LIKE '%креплен%')  OR  (LCASE(pd.tag) LIKE '%дл%')  OR  (LCASE(pd.tag) LIKE '%забор%')  )  OR  (  (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' )  )  OR  (  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%')  )  OR  (  (LCASE(p.sku) = 'креплен')  OR  (LCASE(p.sku) = 'дл')  OR  (LCASE(p.sku) = 'забор')  )  )  GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30

 

время выполнения от 2500 до 3500 мс

 

 

 

 

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


6 часов назад, Blade сказал:

время от 1000 до 1600 мс

Такое время не может быть в пределах нормы, в принципе, а тем более, на таких запросах!

 

В этих запросах проблема, скорее всего, в

ORDER BY RAND()

Очередной пример, когда автор модуля не подозревает, что в магазинах бывает товаров больше, чем в демо.

 

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

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


6 часов назад, Blade сказал:

ORDER BY relevance

К автору модуля поиска (Там даже релевантность  "считается" криво

 

ORDER BY RAND()  - Сколько товаров?

 

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

6 часов назад, Blade сказал:

Добрый день

Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000

 

1.  catalog/model/catalog/product.php

 

а)

  Скрыть контент

SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5

 

б) 

  Скрыть контент

SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5

 

время от 1000 до 1600 мс

 

2. catalog/model/catalog/search_mr.php

 

а)

  Скрыть контент

SELECT DISTINCT SQL_CALC_FOUND_ROWS  (IF (LCASE(pd.name) LIKE '%makita bo3710   140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710   140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance,  p.product_id  FROM oc_product p 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_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0'  AND (  (  (LCASE(pd.name) LIKE '%makita%')  OR  (LCASE(pd.name) LIKE '%bo3710%')  OR  (LCASE(pd.name) LIKE '%140441-9%')  OR  (LCASE(pd.name) LIKE '%подошв%')  OR  (LCASE(pd.name) LIKE '%сбор%')  )  OR  (  (LCASE(pd.description) LIKE '%makita%')  OR  (LCASE(pd.description) LIKE '%bo3710%')  OR  (LCASE(pd.description) LIKE '%140441-9%')  OR  (LCASE(pd.description) LIKE '%подошв%')  OR  (LCASE(pd.description) LIKE '%сбор%')  )  OR  (  (LCASE(pd.tag) LIKE '%makita%')  OR  (LCASE(pd.tag) LIKE '%bo3710%')  OR  (LCASE(pd.tag) LIKE '%140441-9%')  OR  (LCASE(pd.tag) LIKE '%подошв%')  OR  (LCASE(pd.tag) LIKE '%сбор%')  )  OR  (  (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' )  )  OR  (  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%')  )  OR  (  (LCASE(p.sku) = 'makita')  OR  (LCASE(p.sku) = 'bo3710')  OR  (LCASE(p.sku) = '140441-9')  OR  (LCASE(p.sku) = 'подошв')  OR  (LCASE(p.sku) = 'сбор')  )  )  GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30

 

 

б)

  Скрыть контент

SELECT DISTINCT SQL_CALC_FOUND_ROWS  (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance,  p.product_id  FROM oc_product p 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_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0'  AND (  (  (LCASE(pd.name) LIKE '%креплен%')  OR  (LCASE(pd.name) LIKE '%дл%')  OR  (LCASE(pd.name) LIKE '%забор%')  )  OR  (  (LCASE(pd.description) LIKE '%креплен%')  OR  (LCASE(pd.description) LIKE '%дл%')  OR  (LCASE(pd.description) LIKE '%забор%')  )  OR  (  (LCASE(pd.tag) LIKE '%креплен%')  OR  (LCASE(pd.tag) LIKE '%дл%')  OR  (LCASE(pd.tag) LIKE '%забор%')  )  OR  (  (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' )  OR  (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' )  )  OR  (  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%')  OR  (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%')  )  OR  (  (LCASE(p.sku) = 'креплен')  OR  (LCASE(p.sku) = 'дл')  OR  (LCASE(p.sku) = 'забор')  )  )  GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30

 

время выполнения от 2500 до 3500 мс

 

 

 

 

 

Да что  ж ты не угомонный такой?

Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id

Вторая проблема - известный специалист SV2109, который верит в то что такой поиск может работать. А он не может - меняется это дело на сфинкс и живет.

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

LIKE '%makita%' 

Это 3.14

 

Автор не знает азов MySQL

Когда при LIKE перед и после поисковой фразы стоит % - идет перебор ВСЕХ значений таблицы и индексы НЕ ИСПОЛЬЗУЮТСЯ

 

LIKE '%makita%'

 

Соответственно такие запросы будут оооооооооооооооооочень тормозными
А там еще и куча OR с LIKE '%tyry_pyry%'
Короче занавес

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

1 час назад, markimax сказал:

Автор не знает азов MySQL

хм..

А причем здесь азы?

 

wildcards % и _ это и есть азы

 

Ну, а то что не доработан механизм поиска .. минус автора

 

Зачем искать слово "дл" такие слова должны попадать в исключения

 

Релевантность считается только по паданию в описание, а не попаданию в атрибуты.

По большому счету система поиска  в ОС очень проста, и не совсем подходит для большого количества товаров.
Но, даже на OC можно извратиться построить индекс .. и ускорить процесс.

 

Но как сказано - а не посмотреть ли в сторону сфинкса?

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

Куплю переписанный запрос

"Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id"

Сам не поправлю

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


4 часа назад, Blade сказал:

Куплю переписанный запрос

"Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id"

Сам не поправлю

 

не актуально

во первых нашел человека кто поможет

во вторых снес нафиг этот чудо модуль

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


  • 2 месяца спустя...
В 04.03.2017 в 11:43, Dimdimych сказал:

В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки:

<operation>
         <search>
		 <![CDATA[$this->load->model('catalog/product');]]>
		 </search>
         <add position="after">
		 <![CDATA[if (!empty($category_id)) {		  
			$filter_data = array(
				'filter_category_id' => $category_id
			);
			} else {
		    $filter_data = array(
				'filter_category_id' => ''
			);
		    }
			  $category_products = $this->model_catalog_product->getProducts($filter_data);
			  $prevFixProduct = array();
			  $prevProduct = array();
			  $nextProduct = array();
			  
			  foreach ($category_products as $product) {
				  if ($product['product_id'] == $product_id) {
					$prevProduct = $prevFixProduct;
				  } else {
					  if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) {
						  $nextProduct = $product;
						  break;
					  }
				  }
				  $prevFixProduct = $product;
			  }
			  
			  $this->load->model('tool/image');

            if (!empty($prevProduct)&&!empty($category_id)) {
		    $data['prevProduct'] = array(
				      'name' => $prevProduct['name'],
					  'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98),
					  'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id)
			);
			}
            if (!empty($nextProduct)&&!empty($category_id)) {			
			$data['nextProduct'] = array(
				      'name' => $nextProduct['name'],
					  'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98),
					  'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id)
			);
            }]]>
          </add>
      </operation>

 

 

У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки.

Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из:

/system/storage/modification/catalog/controller/product/product.php

 

Увы, после этого страницы товара совсем не открываются, вернул все назад ((

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


  • 2 года спустя...
В 25.02.2017 в 16:51, Dimdimych сказал:

Анализ запросов к базе данных дал такие результаты (при чистом кєше):  Queries: 918, Total time: 734.030 ms

 

Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел.

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


8 hours ago, stanr said:

как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел.

 

как например

Изменено пользователем 100napb
Ссылка на комментарий
Поделиться на других сайтах

  • 2 года спустя...
25.02.2017 в 19:55, nikifalex сказал:

какой именно кэш чистый?

 

25.02.2017 в 23:00, Dimdimych сказал:

Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера

 

25.02.2017 в 22:59, Dimdimych сказал:

Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе.

Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей.

 

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

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

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