Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[HowTo] Добавляем иконки категорий в модуль Категории


 Поделиться

Рекомендованные сообщения

По мотивам

...Скажите, а как Вы вставили мини иконки в левое меню, что за модуль?...

Для этого нам понадобятся, собственно, иконки и два файла - контроллер и шаблон стандартного модуля категорий.

Возьмем, например, такие иконки http://findicons.com/pack/2687/fruit:

post-3682-0-46772400-1362969068.png post-3682-0-89528700-1362969071.png post-3682-0-01656600-1362969075.png post-3682-0-52238800-1362969078.png post-3682-0-51945700-1362969081.png post-3682-0-61018000-1362969084.png post-3682-0-43746200-1362969087.png post-3682-0-96848800-1362969089.png

Сохраняем их в

catalog/view/theme/{theme_name}/image/category-icons/

с именами

cat-{category_id}.png

вместо {category_id} подставляйте ID категории, у которой должна отображаться эта иконка (архив с использованными в примере оригинальными и переименованными иконками прикреплен к сообщению).

Теперь украсим наш контроллер

catalog/controller/module/category.php

раз_#1

Блок

				$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'])
			);

Приводим к виду

				$categoryIcon = false;
			if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/image/category-icons/cat-'.$child['category_id'].'.png')) {
				$categoryIcon = HTTPS_SERVER.'catalog/view/theme/'.$this->config->get('config_template').'/image/category-icons/cat-'.$child['category_id'].'.png';
			}

			$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']),
				'icon'		=> $categoryIcon,
			);

два_#2:

Блок

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

Приводим к виду

			$categoryIcon = false;
		if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/image/category-icons/cat-'.$category['category_id'].'.png')) {
			$categoryIcon = HTTPS_SERVER.'catalog/view/theme/'.$this->config->get('config_template').'/image/category-icons/cat-'.$category['category_id'].'.png';
		}

		$this->data['categories'][] = array(
			'category_id' => $category['category_id'],
			'name'		=> $category['name'] . ($this->config->get('config_product_count') ? ' (' . $total . ')' : ''),
			'children'	=> $children_data,
			'href'		=> $this->url->link('product/category', 'path=' . $category['category_id']),
			'icon'		=> $categoryIcon,
		);

сохраняем, закрываем.

И добавим перцу в шаблон:

catalog/view/theme/{theme_name}/template/module/category.tpl

раз_#1

Меняем

<?php echo $category['name']; ?>

На такой код

<?php if ($category['icon']) { ?><img src="<?php echo $category['icon']; ?>" width="24" height="24" /><?php } ?><?php echo $category['name']; ?>

два_#2

Меняем

<?php echo $child['name']; ?>

На такой код

<?php if ($child['icon']) { ?><img src="<?php echo $child['icon']; ?>" width="16" height="16" /><?php } ?><?php echo $child['name']; ?>

сохраняем, закрываем.

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

Любуемся результатом:

post-3682-0-28759100-1362971257_thumb.png

category-icons.zip

  • +1 5
Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

Спасибо за урок! как раз то, что искал!  

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

Ссылка на комментарий
Поделиться на других сайтах


что-то сделали не так.

иконки выводятся всегда для тех категорий, у которых они есть.

Ссылка на комментарий
Поделиться на других сайтах

  • 3 года спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.