Перейти к содержанию
Forzik

[Решено] узнать id категории

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

Подскажите как узнать id категории находясь в подробном описании товара.

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


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

нашел в котролер добавляем

$categories = $this->model_catalog_product->getCategories($product_id);
if ($categories)
  $categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);
$this->data['category_id] = $categories_info['category_id'];

и в view <?php echo $category_id; ?>

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


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

В оригинальном Опенкарт - наугад (первую попавшуюся из нескольких, как постом выше).

В ocStore / SeoPro - через main_category_id.

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


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

В оригинальном Опенкарт - наугад (первую попавшуюся из нескольких, как постом выше).

В ocStore / SeoPro - через main_category_id.

не подскажите как вывести не id main а в который находиться товар (например заходим в категорию меню(id_59) дальше суши(id_60) я выбираю товар в данной категории и в карточке товара выводиться id_60 )

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


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

так это вам не по товару надо, а по "path=" в адресной строке.

смотрите контроллер модуля категорий.

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


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

В контроллере товара тоже должно уже быть, там bradcrumbs выводится.

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


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

может и не выводиться :wink:

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


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

может и не выводиться :wink:

Во view? Может. Но вряд ли её извлечение и вычисление из контроллера вычищают.

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


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

catalog/controller/product/product.php

после:

$this->data['points'] = $product_info['points'];

добавить:

$in_category = array();
$q = $this->db->query("SELECT p2c.`category_id`, cd.name FROM " . DB_PREFIX . "product_to_category p2c LEFT join " . DB_PREFIX . "category_description cd ON cd.category_id = p2c.`category_id` WHERE product_id = '".$this->request->get['product_id']."' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'");
if ($q->num_rows) {
$rows = $q->rows;
foreach ($rows as $row) {
$el = array();
$el['name'] = $row['name'];
$el['cat_id'] = $row['category_id'];
$el['href'] = $this->url->link('product/category', 'path=' . $row['category_id']);
$in_category[] = $el;
}
}
if (count($in_category)) {
$mas = array();
foreach ($in_category as $cat) {
$mas[] = $cat['cat_id'];
}
$this->data['id_category'] = implode(', ',$mas);
}

catalog/view/theme/default/template/product/product.tpl

в нужном месте добавить:

Код (text):

<b>ID категорий товара:</b> <?php echo $id_category; ?>

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


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

нашел в котролер добавляем

$categories = $this->model_catalog_product->getCategories($product_id);
if ($categories)
   $categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);
$this->data['category_id] = $categories_info['category_id'];
и в view <?php echo $category_id; ?>

 

спасибо, проверил все работает!  :-)

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


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

А как вывести такой же id, только на странице каталога товаров?

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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