Все для создания и продвижения сайтов

Верстка, программирование, SEO

Назначения id категория в каталоге Opencart

При работе с Opencart у вас может возникнуть идея, как отредактировать какой-нибудь элемент конкретной категории, к примеру, выделить её на фоне других или добавить стили для неё и всех её составляющих (картинок, абзаца и т.д.). В данной статье я покажу, как это просто делается, результат будет таким:

Назначения id категория в каталоге

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

И так приступим:

1. Зайдём в файл контролера категорий по адресу "catalog\controller\product\category.php" и примерно на 203 найдём такую запись:

	$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),
					'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
				);

2. Как мы видим, здесь передаются переменные для вывода в наши .tpl файлы, здесь есть такие переменные, как "имя", "ссылка", "миниатюры", но нет "id". Это легко решается, достаточно добавить одну строчку и мы сможем где хотим вызывать "id", для этого в начале объявления массива, добавим:

'id' => $result['category_id'],

И в итоге получим следующею запись:

	$this->data['categories'][] = array(
					'id' => $result['category_id'],
					'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),
					'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
				);

После этого мы можем вывести id категорий такой вставкой в любом файле шаблона ".tpl"

<?php echo $category['id']?>

3. Теперь мы можем получить id у категорий, приведу пример добавления "id" в картинки категории, как на скриншоте выше. Для этого заходим в файл, отвечающий за вывод и оформление категорий по адресу: "catalog/view/theme/default/template/product".

находим запись

  
  • <?php echo $category['name']; ?>
  • И добавляем к ней "id"

    id="cat_<?php echo $category['id']?>"
    

    cat_ - это любой придуманный префикс, чтобы избежать повторений, когда вы например, собираетесь вызвать "id" для чего то другого.

    И теперь у всех картинок будет формировать разное "id" без повторений, к примеру : id="cat_12", id="cat_34", id="cat_15".

    Вот и все, удачи!

    Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.