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

[Решено] Вывод производителя и его фото в списке товаров категории для OpenCart 2.3


Recommended Posts

4 минуты назад, Tom сказал:

$this->load->model('catalog/manufacturer');

Добавил сюда

class ControllerProductCategory extends Controller {
    public function index() {
        $this->load->language('product/category');

        $this->load->model('catalog/category');

        $this->load->model('catalog/product');

        $this->load->model('tool/image');
        
        $this->load->model('catalog/manufacturer');

очистил модификаторы, все равно 500 ошибка( чего-то еще наверно не хватает

 

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


1 минуту назад, Tom сказал:

Форум последнее время дописывает сам левые символы в код.

 

та вроде проверил, нету левых символов и все ок с синтаксисом 

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


@Tom из за чего еще может быть 500 ошибка? 

 

все строки вашего решения поставил в нужные места через notepad ++ 

class ControllerProductCategory extends Controller {
	public function index() {
		$this->load->language('product/category');

		$this->load->model('catalog/category');

		$this->load->model('catalog/product');

		$this->load->model('tool/image');
		
		$this->load->model('catalog/manufacturer');

		if (isset($this->request->get['filter'])) {

далее

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);
$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
                $data['products'][] = array(
                    'product_id'  => $result['product_id'],
                    'thumb'       => $image,
                    'logo_image' => $logo_image,
                    'name'        => $result['name'],
                    'description' => $description,
                    'product_type'   => $result['sku'],
                    'sku'   => $result['sku'],
                    'price'       => $price,
                    'special'     => $special,
                    'tax'         => $tax,
                    'sticker'     => $stickers,
                    'benefits'    => $benefits,
                    '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),
                    'cart'       => $cart
                );
            }

и

 <img src="<?php echo $product['logo_image']; ?>" alt="">

 

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


1 минуту назад, ilerok сказал:

@Tom из за чего еще может быть 500 ошибка? 

 

все строки вашего решения поставил в нужные места через notepad ++ в контроллере категории


class ControllerProductCategory extends Controller {
	public function index() {
		$this->load->language('product/category');

		$this->load->model('catalog/category');

		$this->load->model('catalog/product');

		$this->load->model('tool/image');
		
		$this->load->model('catalog/manufacturer');

		if (isset($this->request->get['filter'])) {

далее


$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);
$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
                $data['products'][] = array(
                    'product_id'  => $result['product_id'],
                    'thumb'       => $image,
                    'logo_image' => $logo_image,
                    'name'        => $result['name'],
                    'description' => $description,
                    'product_type'   => $result['sku'],
                    'sku'   => $result['sku'],
                    'price'       => $price,
                    'special'     => $special,
                    'tax'         => $tax,
                    'sticker'     => $stickers,
                    'benefits'    => $benefits,
                    '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),
                    'cart'       => $cart
                );
            }

и в tpl


 <img src="<?php echo $product['logo_image']; ?>" alt="">

 

 

убираю строки вашего решения - чищу модификаторы - 500 ошибка уходит

 

хотелось бы заставить это решение работать) так как оно действительно сделано по феншую) 

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


5 минут назад, Tom сказал:

У каждой 500 ошибки, есть четкое объяснение в логах ошибок.

Да есть в логе ошибка эта

Got error 'PHP message: PHP Parse error:  syntax error, unexpected ''name'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /public_html/system/storage/modification/catalog/controller/product/category.php on line 310\n'

 

подскажете как исправить ее? ругается на синтаксис вроде

 

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


)))))
Как минимум открыть проблемный файл в кеше по указанному пути , найти проблемную строку и посмотреть.

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

6 минут назад, Tom сказал:

)))))
Как минимум открыть проблемный файл в кеше по указанному пути , найти проблемную строку и посмотреть.

Зашел в /system/storage/modification/catalog/controller/product/category.php

 

Вот содержимое

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);
$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
                $data['products'][] = array(
                    'product_id'  => $result['product_id'],
                    'thumb'       => $image,
                    'logo_image' => $logo_image,
                    'name'        => $result['name'],
                    'description' => $description,
                    'product_type'   => $result['sku'],
                    'sku'   => $result['sku'],
                    'price'       => $price,
                    'special'     => $special,
                    'tax'         => $tax,
                    'sticker'     => $stickers,
                    'benefits'    => $benefits,
                    '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),
                    'cart'       => $cart
                );
            }

            $url = '';

Ругается на строку  310 в моем случае это

'name'        => $result['name'],

 

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

 

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


@TomРешил доработать что бы совсем по феншую было, и если фотки производителя нет что бы показывало placeholder.png

 

Сделал так:

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);
if ($manufacturer_info['image']) {
$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
}else{
$logo_image = $this->model_tool_image->resize('placeholder.png', 50,50);
}

Работает но ругается так : Undefined index: image in 

Вопрос решается скрытием вывода ошибок, но это совсем глупое решение проблемы будет))

 

Что то не верно опять сделал?

 

P.S. Не судите строго за код)

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


С таким вариантом:

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);
$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
				$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'logo_image'        => $logo_image,
					'name'        => $result['name'],
					'manufacturer'=> $result['manufacturer'],
                    'manufacturers' => $this->url->link('category/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']),
					'description' => $description,
                    'product_type'   => $result['sku'],
					'sku'   => $result['sku'],
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'sticker'     => $stickers,
					'benefits'    => $benefits,
					'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),
                    'cart'       => $cart
				);
			}

Тоже такая же ошибка, но вывод фото работает

Текст ошибки:: Undefined index: image in /public_html/system/storage/modification/catalog/controller/product/category.php

 

пока решу проблему скрытием вывода ошибок

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


2 минуты назад, fanatic сказал:

$this->load->model('catalog/manufacturer')

 

та добавил его в самом начале контроллера категории тут

 

class ControllerProductCategory extends Controller {
    public function index() {
        $this->load->language('product/category');

        $this->load->model('catalog/category');

        $this->load->model('catalog/product');

        $this->load->model('tool/image');
        
        $this->load->model('catalog/manufacturer');

 

не помогает( самое обидное что все работает, а ошибка висит под шапкой, если включаю скрытие вывода ошибок в админке - пропадает и совсем не мешает

 

но будет засорять лог сервака

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


51 минуту назад, ilerok сказал:

if ($manufacturer_info['image']) {

if(isset($manufacturer_info['image'])){

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

if (isset($manufacturer_info['image']) && $manufacturer_info['image'] != '') {
	$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
		} else {
	$logo_image = "";
}

 

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

2 минуты назад, Tom сказал:

if (isset($manufacturer_info['image']) && $manufacturer_info['image'] != '') {
	$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
		} else {
	$logo_image = "";
}

 

 

помогло, спасибо!!!!!! :)

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


  • 3 months later...
В 26.09.2018 в 20:43, Tom сказал:

В контроллер до $data['products'][] = array(
$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);

$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
после
'logo_image' => $logo_image,
В шаблон
img src="<?php echo $product['logo_image']; ?>"

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

все ок получилось. но обнаружил некую странность- первый товар в списке почему то с битой картинкой. вот скрин  https://clip2net.com/s/3Zo3UtH

причем этот повторяется на всех страницах пагинации 

вот ссылка на пациента -может подскажите что я не так сделал http://taurus-electric.ru/kabel-provod/importnaja-kabelno-provodnikovaja-produkcija/

спасибо.

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


В 26.09.2018 в 20:43, Tom сказал:

В контроллер до $data['products'][] = array(
$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);

$logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25);
после
'logo_image' => $logo_image,
В шаблон
img src="<?php echo $product['logo_image']; ?>"

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

все ок получилось. но обнаружил некую странность- первый товар в списке почему то с битой картинкой. вот скрин  https://clip2net.com/s/3Zo3UtH

причем этот повторяется на всех страницах пагинации 

вот ссылка на пациента -может подскажите что я не так сделал http://taurus-electric.ru/kabel-provod/importnaja-kabelno-provodnikovaja-produkcija/

спасибо.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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