

Тъй като OpenCart е най-добрата и най-използваната система за създаване на онлайн магазини, решихме да ви дадем няколко съвета как да увеличите скоростта на OpenCart.
Скоростта на вашия онлайн магазин зависи от броя на продуктите и категориите, които системата трябва да изчислява всеки път, когато сайтът се зарежда. За да увеличите скоростта на вашия онлайн магазин, трябва да пренапишете някои файлове в OpenCart, за да не се изчисляват продуктите всеки път. Да, имате възможност да скриете броя на категориите и продуктите от административната страница на сайта, но това действие по никакъв начин няма да помогне за увеличаване на скоростта.
Сега, когато изяснихме това, нека се върнем към оптимизацията на системата.
Оптимизацията може да се извърши по два начина – ръчно или с приставка. Докато оптимизацията с приставка може да е по-лесна, тя не е най-безопасният избор, защото съществува шанс никога да не върнете обратно информацията, която сте променили.
Затова силно препоръчваме да правите оптимизацията ръчно. По този начин ще знаете точно кой файл сте пренаписали и ще можете да го върнете обратно по всяко време.
Ще ви преведем през стъпките на ръчната оптимизация стъпка по стъпка, но преди да започнем, трябва да ви предупредим, че този тип оптимизация работи само върху OpenCart 1.5.6.4. Възможно е да работи и на някои по-стари версии на системата.
Сега да се върнем към процеса на оптимизация. Ръчната оптимизация е просто преписване на три файла в OpenCart. Тези промени ще попречат на системата да изчислява категориите и продуктите на вашия сайт и скоростта ще се увеличи.
Преди да започнете процесите, трябва да отидете на страницата за администрация и там да скриете вашите продукти, след което да подготвите пренаписването на трите файла:
catalog/controller/product/category.php – Броят на категориите и продуктите
catalog/controller/common/header.php – Броят на продуктите в менюто
catalog/controller/module/category.php – Броят на продуктите в менюто отляво
В първия файл – catalog/controller/product/category.php
Препишете кода от:
$product_total = $this->model_catalog_product->getTotalProducts($data);
$this->data[‘categories’][] = array(
’name’ => $result[‘name’] . ($this->config->get(‘config_product_count’) ? ‘ (‘ . $product_total . ‘)’ : “),
’href’ => $this->url->link(‘product/category’, ‘path=’ . $this->request->get[‘path’] . ‘_’ . $result[‘category_id’] . $url)
);
To:
//$product_total = $this->model_catalog_product->getTotalProducts($data);
$product_total = 0;
$this->data[‘categories’][] = array(
//’name’ => $result[‘name’] . ($this->config->get(‘config_product_count’) ? ‘ (‘ . $product_total . ‘)’ : “),
’name’ => $result[‘name’],
’href’ => $this-&g t;>url->link(‘product/category’, ‘path=’ . $this->request->get[‘path’] . ‘_’ . $result[‘category_id’] . $url)
);
catalog/controller/common/header.php
Този файл е този, който съдържа функцията за изчисляване на броя на продуктите в сайта
Намерете този файл и препишете от:
$product_total = $this->model_catalog_product->getTotalProducts($data);
$children_data[] = array(
’name’ => $child[‘name’] . ($this->config->get(‘config_product_count’) ? ‘ (‘ . $product_total . ‘)’ : “),
’href’ => $this->url->link(‘product/category’, ‘path=’ . $category[‘category_id’] . ‘_’ . $child[‘category_id’])
);
To:
//$product_total = $this->model_catalog_product->getTotalProducts($data);
$children_data[] = array(
’name’ => $child[‘name’],
’href’ => $this->url->link(‘product/category’, ‘path=’ . $category[‘category_id’] . ‘_’ . $child[‘category_id’])
);
catalog/controller/module/category.php
От този файл можете да спрете изчисляването на броя на категориите и продуктите в лявото меню.
За да го направите, препишете този файл от:
$product_total = $this->model_catalog_product->getTotalProducts($data);
$total += $product_total;
$children_data[] = array(
’category_id’ => $child[‘category_id’],
’name’ => $child[‘name’] . ($this->config->get(‘config_product_count’) ? ‘ (‘ . $product_total . ‘)’ : “),
’href’ => $this->url->link(‘product/category’, ‘path=’ . $category[‘category_id’] . ‘_’ . $child[‘category_id’])
);
To:
//$product_total = $this->model_catalog_product->getTotalProducts($data);
//$total += $product_total;
$total = 0;
$product_total = 0;
$children_data[] = array(
’category_id’ => $child[‘category_id’],
//’name’ => $child[‘name’] . ($this->config->get(‘config_product_count’) ? ‘ (‘ . $product_total . ‘)’ : “),
’name’ => $child[‘name’],
’href’ => $this->url->link(‘product/category’, ‘path=’ . $category[‘category_id’] . ‘_’ . $child[‘category_id’])
);
Много онлайн магазини, които са предприели тези оптимизации, отчитат невероятни резултати и значително увеличение на скоростта на зареждане.
Ако не забележите разлика преди и след тези промени, можете да използвате и други методи, като Memcached. Използването на кеша Memcached може лесно да ускори OpenCart. Всяка промяна в кода или добавянето на още разширения винаги се уверявайте, че имате актуално резервно копие.


