Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Категория товара в карточке заказа


Recommended Posts

Всем привет, подскажите пожалуйста что делаю не так?

Мне нужно в карточку товара добавить отображение категории к которой принадлежит товар.

Нашла следующую конструкцию:

В модели товара перед :

public function getCategories($product_id) {

Я добавила:

public function getCategoryNames($product_id) {     
        $query = $this->db->query("SELECT cd.name
                        FROM " . DB_PREFIX . "category_description cd
                        LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.category_id = cd.category_id)
                            WHERE p2c.product_id = '" . (int)$product_id . "'
                            AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'");     
        return $query->rows;
    }

В контролере после:

$data['points'] = $product_info['points'];

добавила:

$data['cat_list'] = $this->model_catalog_product->getCategoryNames($product_id);

Ну и в карточку товара в шаблон после модели я добавила:

{% if catlist %}
                {% for catname in  catlist %}
                   <p clacc=" box-flex list-group-item"><span>Категория:</span> <a style="color:#009689;" href="{{catname.href }}" title="{{catname.name}}">{{ catname.name }} </a></p>
                {% endfor %}
{% endif %}

Но после проделанного категория так и не появилась в карточке, подскажите пожалуйста что я не так сделала, где допустила ошибку? Спасибо за помощь.

Надіслати
Поділитися на інших сайтах


у вас в контроллере cat_list, а в шаблоне catlist, но это не главное

Модель отдает массив, а в контроллере он не объявлен и не наполнен. 

Надіслати
Поділитися на інших сайтах

37 минут назад, LiLu сказал:

у вас в контроллере cat_list, а в шаблоне catlist, но это не главное

Модель отдает массив, а в контроллере он не объявлен и не наполнен. 

Спасибо, поменяла в модели cat_list на catlist и категории появились   https://prnt.sc/scmd8g Только они появились все а не только главная, а так же ссылки не ведуть на категории а ведут на главную....:mellow:

Надіслати
Поділитися на інших сайтах


для отображения главной категории товара достаточно после

$category_info = $this->model_catalog_category->getCategory($category_id);

добавить

$data['category_name'] = $category_info['name'];
$data['category_href'] = $category_info['href'];

шаблон

{% if category_name %} 
<span>Категория:</span> <a style="color:#009689;" href="{{category_href}}" title="{{category_name}}">{{category_name}} </a>
{% endif %}

 

Надіслати
Поділитися на інших сайтах

9 минут назад, LiLu сказал:

для отображения главной категории товара достаточно после


$category_info = $this->model_catalog_category->getCategory($category_id);

добавить


$data['category_name'] = $category_info['name'];
$data['category_href'] = $category_info['href'];

шаблон


{% if category_name %} 
<span>Категория:</span> <a style="color:#009689;" href="{{category_href}}" title="{{category_name}}">{{category_name}} </a>
{% endif %}

 

Да, если так то все ок отображает только главную как и нужно, но ссылка все равно не подтягивается 

Ошибку выдает Notice: Undefined index: href in /home/.../public_html/catalog/controller/product/product.php

Надіслати
Поділитися на інших сайтах


Кстати в версиях 1.5 я всегда пользовалась таким методом:

<?php
$real_url = $_SERVER['REQUEST_URI'];     //получаем адрес текущей страницы
$cut_url = rtrim( dirname( $real_url ), "/" )."/";  //отрезаем текущий товар и получаем адрес директории
?>
<a href="<?php echo $cut_url; ?>">текст...</a>

Но в тройке данный метод не работает так как Php в шаблон не вставить,

Может подскажите как можно его внедрить в тройку? это идеальный вариант для меня....

Надіслати
Поділитися на інших сайтах


9 минут назад, natalia8978 сказал:

Да, если так то все ок отображает только главную как и нужно, но ссылка все равно не подтягивается 

Ошибку выдает Notice: Undefined index: href in /home/.../public_html/catalog/controller/product/product.php

Во ссылку получилось вывести, вместо 

$data['category_href'] = $category_info['href'];

Вставила 

$data['category_href'] = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url);

Все работает но все равно ругается в браузере на Notice: Undefined variable: url in /

 

Все теперь работает и ошибки нет, вот так надо было :

$data['category_href'] = $this->url->link('product/category', 'path=' . $this->request->get['path']);

 

Змінено користувачем natalia8978
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.