Оценок: 1

Название категории в title субкатегории

Небольшая инструкция, как добавить название основной категории в тайтл подкатегории. Работает для двух уровней (больше - не проверял). Возможно пригодится.

Потребуется внести небольшие изменения в контроллер категории.

Файл: /catalog/controller/product/category.php

1. Находим

$category_info = $this->model_catalog_category->getCategory($path_id);
				
				if ($category_info) {
	       			$this->data['breadcrumbs'][] = array(
   	    				'text'      => $category_info['name'],
						'href'      => $this->url->link('product/category', 'path=' . $path . $url),
        				'separator' => $this->language->get('text_separator')
        			);
				}

И меняем на:

$category_inf1 = $this->model_catalog_category->getCategory($path_id);

if ($category_inf1) {
$this->data['breadcrumbs'][] = array(
'text'      => $category_inf1['name'],
'href'      => $this->url->link('product/category', 'path=' . $path . $url),
'separator' => $this->language->get('text_separator')
);
}

Здесь я заменил $category_info на $category_inf1, понадобится в дальнейшем.

Далее находим:

if ($category_info) {
$this->document->setTitle($category_info['name']);

И меняем на:

if ($category_info) {
		if ($category_info['parent_id'] != 0) {
			$this->document->setTitle($category_inf1['name'] . ' ' . $category_info['name']);
		} else {
			$this->document->setTitle($category_info['name']);
		}

Здесь сделана проверка - является ли данная категория субкатегорией. Если да (parent_id не равен нулю) , в тайтле будет выведено название основной категории + название текущей категории, если же это родительская категория - только ее название (по умолчанию).

 

Оценок: 1

Комментарии (2)

  1. Спасибо большое, искал такое решение двое суток… благодаря вам — работает,
    но к сожалению не работает на ТРЕХ уровнях только на двух, может знаете как?

    Евгений 19 марта 2017, 17:51 0
    • Здравствуйте! А как сделать тоже самое, но не для тайтлов а для h1 категории?

      Марианна 03 сентября 2015, 12:44 0
      Надежный хостинг VPS серверов
      • Свои ISO образы
      • VDS с оплатой раз и навсегда
      • Аренда VDS на любой срок, с оплатой по дням
      • Большое разнообразие конфигураций
      • Дата-центры в ЕС и России
      + скидка 10%