kpaqpa

Вывод категории товара под фото на странице категорий

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

kpaqpa    0

Приветствую! Хочется в категориях возле фото вывести категорию с ссылкой, может кто подскажет в какую сторону копать... версия opencart 2.0

 

Единственное что сделал так это вывод категории, и то это просто с хлебных крошек берет, заходишь в родительскую категорию показывает ту категорию..

\catalog\controller\product\category.php:

$data['products'][] = array(
				'thumb_swap'  => $swapimage,
				'hit'         => $hit,					
				'viewed'      => $result['viewed'],
				'date_end'    => $date_end,
				'date_available' => $result['date_available'],
				'options'     => $options,
				'quantity' => $result['quantity'],
				'stock' => ($result['quantity']<=0) ? $result['stock_status'] : $this->language->get('text_instock'),
				'sale' => $result['price'] == 0 ? 100 : round((($result['price'] - $result['special'])/$result['price'])*100, 0),
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'catname'    => $category_info['name'], //Ну понимаю что это не правильно...
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $result['rating'],
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
				);

ну и вывел в категориях \template\product\category.tpl

<?php echo $product['catname']; ?>

 

Категория к товарам проставлена только одна, максимальный уровень вложения 3й (1==>2==>3)

Screenshot_2.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deim    241

в идеале - написать функцию в модель товара catalog/model/catalog/product.php

что-то типа

public function getMainCategory($product_id) {
		$query = $this->db->query("SELECT ptc.category_id as category_id, cd.name as category_name FROM " . DB_PREFIX . "product_to_category ptc LEFT JOIN " . DB_PREFIX . "category_description cd ON (ptc.category_id = cd.category_id) WHERE ptc.product_id = '" . (int)$product_id . "' AND ptc.main_category=1");

		if ($query->num_rows) {
			$category = array(
			'category_name'=>$query->row['category_name'],
			'category_id'=>$query->row['category_id'],
			);
			return $category;
		}else{
			return false;
		}
	}

потом перед вашим

$data['products'][] = array(

добавить что-то вроде 

$main_category = $this->model_catalog_product->getMainCategory($result['product_id']);

Теперь у вас имеются

$main_category['category_id']  // id главной категории товара. можно использовать для генерации ссылки на неё
$main_category['category_name']  // название главной категории товара

//прежде чем их использовать не забывайте проверять 

if($main_category){
//значит главная категория товару задана и инфа о категории имеется
//дальше код для её обработки
}

 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу