Как известно, магазины на OpenCart отличаются медленной работой, которая становится заметна при увеличении количества товаров.
В основном
OpenCart медлит из-за большого количества запросов к MySQL. Часто причиной медленной работы могут являться:
- Большое количество категорий и подкатегорий в OpenCart тормозит его работу;
- Огромное количество товаров, обычно несколько тысяч;
- Применение сложных фильтров товаров;
- Также причиной может являться медленный хостинг с малым количеством памяти;
Давайте ускорим работу OpenCart внеся небольшие изменения, оптимизировав, количество обращений к базе mysql.
Для версий OpenCart 1.5.1.3, 1.5.2 и 1.5.2.1
находим файл
catalog/controller/module/category.php
меняем
$product_total = $this->model_catalog_product->getTotalProducts($data);
на
$product_total = 0;
меняем
$category['name'] . ' (' . $product_total . ')',
на
$category['name'],
меняем
$child['name'] . ' (' . $product_total . ')'
на
$child['name']
Дополнительно для версии OpenCart 1.5.2.1
находим файл
catalog/controller/common/header.php
меняем
$product_total = $this->model_catalog_product->getTotalProducts($data);
на
$product_total = 0;
меняем
'name' => $child['name'] . ' (' . $product_total . ')',
на
'name' => $child['name'],
в файле
catalog/controller/product/category.php
требуется заменить
$product_total = $this->model_catalog_product->getTotalProducts($data);
на
$product_total = 0;
требуется заменить
'name' => $result['name'] . ' (' . $product_total . ')',
на
'name' => $result['name'],
в файле
catalog/controller/module/category.php
меняем
$product_total = $this->model_catalog_product->getTotalProducts($data);
на
$product_total = 0;
меняем
$category['name'] . ' (' . $product_total . ')',
на
$category['name'],
меняем
$child['name'] . ' (' . $product_total . ')'
на
$child['name']
Ускорение OpenCart с установленным VQmod
Если Вы используете
VQmod который отличается медленной работой и тормозами OpenCart, то можно его
ускорить включив кеширование в конфигурационном файле.
находим файл vqmod/vqmod.php
меняем
public $useCache = FALSE;
public $logging = TRUE;
на
public $useCache = TRUE;
public $logging = FALSE;
Post Views: 2,062