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

Правка контроллера для страницы поиска


Klim

Recommended Posts

Доброго времени суток!
Помогите разобраться как сделать так, что бы в карточке товара на странице с результатами поиска выводилась категория товара для каждого товара (простите за каламбур) в результате поиска. Я понимаю что нужно поправить файл контроллера, но до конца не могу понять что именно там поправить(( Сборка OcStore 3.0.2.0
P.S.
В ПХП поверхностно понимаю, изучаю Питон...

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


Питон не сложнее js, js не сложнее php. Какой-нибудь С++ сложно и лениво.
Ну а для вывода категории можно запрос под id товара вложить.

foreach ($results as $result) {
	$category_id = '';

	$cat_list = $this->model_catalog_product->getCategories($result['product_id']);

	foreach ($cat_list as $cat) {
		$category_id .= ($category_id ? ', ' : false) . $cat['category_id'];
	}

	$data['products'][] = array(
		'category_id' => $category_id
	);
}

 

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

Спасибо! Буду разбираться, представленный код выводит ID категории, а мне нужно название. 
Буду приблагодарен если подскажете что исправить чтобы вывести именно название.

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


22.08.2023 в 13:44, Klim сказал:

Спасибо! Буду разбираться, представленный код выводит ID категории, а мне нужно название. 
Буду приблагодарен если подскажете что исправить чтобы вывести именно название.

$cat_info = $this->model_catalog_category->getCategory($cat['category_id']);

$category_id .= ($category_id ? ', ' : false) . $cat_info['name'];

 

C опытом, когда нужна будет скорость - будете юзать свои запросы к бд.

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

Я правильно понял, эти две строчки добавить в цикл там где перебирается $cat_list?? Я теперь совсем запутался(( Куда эти две строчки ставить?? И в место чего...
P.S. Извините, может через чур туплю, но новой информации в голове много, полностью не переварилась...

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


С горем пополам разобрался с этим:

foreach ($results as $result) {
    $category_id = '';

    $cat_list = $this->model_catalog_product->getCategories($result['product_id']);

    foreach ($cat_list as $cat) {

        $cat_info = $this->model_catalog_category->getCategory($cat['category_id']);
        $category_id .= ($category_id ? ', ' : false) . $cat_info['name'];
    }

    $data['products'][] = array(
        'category_id' => $category_id
    );
}

А вот откуда взять ссылку на категорию?? В методе getCategory как я понял нет url

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


23.08.2023 в 08:38, Klim сказал:

А вот откуда взять ссылку на категорию?? В методе getCategory как я понял нет url

Как в товаре, так и в категориях. Да и модуль категорий есть, там можно посмотреть.

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

Сделаю уточнение для помощи, Я пытаюсь править контроллер страницы результатов поиска, мне нужно в карточках товара поисковой выдачи каждому товару добавить категорию с ссылкой, выше приведённый код выводит категории для товара, но с ссылками слегка проблема у меня... К сожалению в getCatogory не нашёл url-ов...
Пытался вставлять в цикл cat_list такую строчку:
$href_cat = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $cat['category_id'] . $url);
но есть один момент, там генерится УРЛ с окончанием ?(поисковый запрос)... Перерыл всу БД, так и не нашёл где есть по категори_айди прямой урл на категорию(((

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


Разобрался, нужно было поправить саму строчку

$href_cat = $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $cat['category_id'] . $url);

 

в моем случае:
$href_cat = $this->url->link('product/category', 'path=' . $cat['category_id']);

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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