sidoruk_v info@ow-s.com +38044 222-70-92

Оптимизация скорости работы модуля категории для опенкарт

Опубликовано February 28, 2016 . 0 коментариев.

Как известно, на скорость работы опенкарт существенно влияет подсчёт коллличетсва товаров как в модуле категорий так и в верхнем меню. Но если категорй много, и стоит модуль категорий 3 4 и т.д. уровней можно также немного уменьшить нагрузку на сервер и не запрашивать категории, которые не отображаются. А именно идея следующая - стандартно в левом меню отображаются только категории верзнего уровня а также подкатегории активной категории, все остальные подкатегории скрыты, но они формируются в контроллере создавая нагрузку на сервер (особенно если данных категорий очень много), но данные подкатегории так и не используются. Итак, присттупим, открываем контроллер модуля категорий /catalog/controller/module/category.php (сам файл может быть другой в зависимости от того какой именно модуль категорий у Вас используется, к примеру я делал category4level.php ) и дл начала определяем какая именно категория является текущей, для это в верхней части, ориентировочно после 

$this->data['heading_title'] = $this->language->get('heading_title');

добавляем следующее

$tk  = $this->request->get['path'];

т.е. переменная $tk будет содержать информацию  о текущем пути.

Далее переходим в ту часть где формируется массив категорий и делаем проверку, формировать-ли нам масив подкатегорий или нет. 

Для этого, находим начало формирования

foreach ($categories as $category) {

и после данных строк вставляем проверку, а является ли наша категория активной

if (strpos($tk, $category['category_id']) !== false) {

незабываем посттавить закрывающий тег { после

$this->data['categories'][] = array(
				'category_id' => $category['category_id'],
				'name'        => $category['name'],
				'children'    => $children_data,
				'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
			); 

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

Удачных Всем разработок. 

 

Коментарии

Оставить коментарий

Ответить

* Имя:
* E-mail: (Не публикуется)
   Вебсайт: (url сайта с http://)
* Коментарий:
Оставить заявку
Если у вас есть вопросы, или вы хотите заказать разработку интернет магазина, то свяжитесь с нами любым удобным для Вас способом:
ЗаполнитеФорму заявки
Позвоните по телефону+38044 222-70-92
Отправьте заявку на почтуinfo@ow-s.com