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

Производители в каталоге товаров Opencart 1.5.5.1


Recommended Posts

Здравствуйте! Подскажите как вывести в каталоге товаров под Именем товара - Название производителя и -Категорию 
Opencart 1.5.5.1

 

Файлы контроллера и шаблона прилагаю во вложениях

 

becf2d59f3c5.png

category.php

category.zip

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


Рассказываю...

 

Для начала открываем файл \catalog\controller\product\category.php

 

В районе 190 строки дописываем

$product_info = $this->model_catalog_product->getProduct($result['product_id']);

дальше ищем массив $this->data['products'][] = array и дописываем в конце строку

'manufacturer'=>  $product_info['manufacturer']

в предыдущей строке не забывем поставить "запятую"!

 

После наших манипуляций должно получиться примерно следующее...

if ($this->config->get('config_review_status')) {
	$rating = (int)$result['rating'];
	} else {
		$rating = false;
	}

$product_info = $this->model_catalog_product->getProduct($result['product_id']);

и

$this->data['products'][] = array(
		'product_id'  => $result['product_id'],
		'thumb'       => $image,
		'name'        => $result['name'],
		'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
		'price'       => $price,
		'special'     => $special,
		'tax'         => $tax,
		'rating'      => $result['rating'],
		'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
		'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),
		'manufacturer'=>  $product_info['manufacturer']

Теперь ищем файл \catalog\view\theme\{Ваша_тема}\template\product\category.tpl

 

и в нужном месте вставляем код

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

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

<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
	  <br><?php echo $product['manufacturer']; ?>
	  </div>
<div class="description"><?php echo $product['description']; ?></div>

С категорией делаем по аналогии вышеизложенного. Вы уж извините, но всю работу делать за Вас не буду :)

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

Рассказываю...

 

Для начала открываем файл \catalog\controller\product\category.php

 

В районе 190 строки дописываем

$product_info = $this->model_catalog_product->getProduct($result['product_id']);

дальше ищем массив $this->data['products'][] = array и дописываем в конце строку

'manufacturer'=>  $product_info['manufacturer']

в предыдущей строке не забывем поставить "запятую"!

 

После наших манипуляций должно получиться примерно следующее...

if ($this->config->get('config_review_status')) {
	$rating = (int)$result['rating'];
	} else {
		$rating = false;
	}

$product_info = $this->model_catalog_product->getProduct($result['product_id']);

и

$this->data['products'][] = array(
		'product_id'  => $result['product_id'],
		'thumb'       => $image,
		'name'        => $result['name'],
		'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
		'price'       => $price,
		'special'     => $special,
		'tax'         => $tax,
		'rating'      => $result['rating'],
		'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
		'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),
		'manufacturer'=>  $product_info['manufacturer']

Теперь ищем файл \catalog\view\theme\{Ваша_тема}\template\product\category.tpl

 

и в нужном месте вставляем код

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

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

<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
	  <br><?php echo $product['manufacturer']; ?>
	  </div>
<div class="description"><?php echo $product['description']; ?></div>

С категорией делаем по аналогии вышеизложенного. Вы уж извините, но всю работу делать за Вас не буду :)

Спасибо! Сделал все как вы описали. Почему-то ничего не выводится ((

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


Все там работает - делали значит не так :) Я внес правки в Ваши файлы, которые были опубликованы в первом посте. Все должно работать. Для нормального визуального отображения нужно - в файле category.tpl в строке 125 тэгу <div> присвоить стиль.

category.php

category.zip

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

Все там работает - делали значит не так :) Я внес правки в Ваши файлы, которые были опубликованы в первом посте. Все должно работать. Для нормального визуального отображения нужно - в файле category.tpl в строке 125 тэгу <div> присвоить стиль.

Скопировал файлы, но ничего не работает ((((

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


Открыть файл catalog/controller/product/category.php

 

найти 

 



'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',


после неё вставить



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


 

сохранить.

 

Открыть файл catalog/view/theme/ваша тема/template/product/category.tpl

 

перед

 



 <div class="cart">


 

вставить

 



 <div class="manufacturer"><?php echo $text_manufacturer . " " . $product['manufacturer'];?></div>


 

ниже, найти строки

 



function display(view) {
if (view == 'list') {
$('.product-grid').attr('class', 'product-list');


$('.product-list > div').each(function(index, element) {
html  = '<div class="right">';


после них добавить

 



html += '<div class="manufacturer">'+ $(element).find('.manufacturer').html()+'</div>';


 

ещё ниже, найти строку

 

 



html += '  <div class="description">' + $(element).find('.description').html() + '</div>';


 

после неё вставить

 



html +=' <div class="manufacturer">'+ $(element).find('.manufacturer').html()+'</div>';


 

ещё ниже находим

 



var rating = $(element).find('.rating').html();


if (rating != null) {
html += '<div class="rating">' + rating + '</div>';
}


 

после этих строк добавляем

 



html +='<div class="manufacturer">'+ $(element).find('.manufacturer').html()+'</div>';


 

Готово

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

Ничего не выходит, но я не нашел в файле <div class="cart"> и добавил после <div class="name">

 

Может из за этого?

 

 <!--/ swap img-->

        
      <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
<br>
 
</div>
  <div class="manufacturer"><?php echo $text_manufacturer . " " . $product['manufacturer'];?></div>    
      
      
      <?php if ($product['price']) { ?>
Надіслати
Поділитися на інших сайтах


Странно что у Вас нет  <div class="cart"> , но это лишь место где я предложил вывести  саму надпись.Вы можете вставить там где Вам удобней.А Вы  вставили между названием товара и ценой.

 

PS  А у Вас сам производитель  привязан к товару?

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

Да вот и я думаю, что странно:) Не раз использовал вариант, описанный мной - и все работало:) Может действительно товар к производителю не привязан?

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

Да вот и я думаю, что странно :) Не раз использовал вариант, описанный мной - и все работало :) Может действительно товар к производителю не привязан?

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

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


Всё вышеописанное проверенно лично на практике и живых магазинах, если у вас не получается

 

1) Значит ,что то всё же не так делаете

 

2) Значит , Вы используете шаблон и нужно отталкиваться от его файлов.

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

Всё вышеописанное проверенно лично на практике и живых магазинах, если у вас не получается

 

1) Значит ,что то всё же не так делаете

 

2) Значит , Вы используете шаблон и нужно отталкиваться от его файлов.

Не знаю, вроде все верно

Да шаблон используется. но не знаю что там может быть не так

Вот файлы category.php и tpl

https://docviewer.yandex.ru/?url=ya-disk%3A%2F%2F%2Fdisk%2Fcategory2.zip&name=category2.zip&c=523dad34184a 

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


В Вашем шаблоне сделайте немного иначе  в category.tpl ,  а контролер сделайте как выше описано.

 

надите

 

 <!-- wish  //  compare  //  cart
        =============-->

Перед этим добавьте

<div class="manufacturer"><?php echo $text_manufacturer . " " . $product['manufacturer'];?></div>

Эта строка отвечает за вывод  , а где именно решать вам.В этом случае будет выше кнопок(купить-в закдки-в сравнения)

 

Ниже находим

html += '  <div class="description">' + $(element).find('.description').html() + '</div>';

ниже добавляем

html += '<div class="manufacturer">'+ $(element).find('.manufacturer').html()+'</div>';

Ещё ниже находим такую же строку и ниже её добавляем тоже самое.

 

Теперь в Вашем шаблоне в отображении список  уже отображается,а для отображения в сетке добавьте например

 

.product-grid .manufacturer  {
text-decoration: none;
display: block;
margin-bottom: 4px;
text-align: center;
color: #626262;
font-size: 13px;
}

можно в самом конце стилей,а можно ниже 1830 строки

 

после 

 

.product-grid .description {
font-size: 15px;
    padding: 10px;
clear: both;
color: #000;
}

должно получится.

 

 

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

Вот черт :eek: получилось!!!!!!!!!!! :eek:  :eek:  :eek:  :eek:

СПАСИБО ОГРОМНОЕ!!!!!!

 

Подскажите, пожалуйста, а КАК УБРАТЬ СЛОВО ПРОИЗВОДИТЕЛЬ

И вывести категорию ниже??

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


Подскажите, пожалуйста, а КАК УБРАТЬ СЛОВО ПРОИЗВОДИТЕЛЬ

 

 

 

Заменить

<div class="manufacturer"><?php echo $text_manufacturer . " " . $product['manufacturer'];?></div>

на

 <div class="manufacturer"><?php echo $product['manufacturer']; ?></div>

 А категории по моему мнению никчему.

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

Спасибо! Ну категории очень нужны
Просто при просмотре товара в категориях иногда бывают большие описания, и необходимо обозначить категорию, так как она будет на следующей строке и смотреться будет более эстетично
 
Например сейчас (идет перенос на следущею строчку) 
Велосипед CUBE ELITE 26 SUPER
HPC(2013)
Cube
 
а будет 
CUBE ELITE 26 SUPER HPC(2013)
Велосипед  
Cube

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


Я так понял нужно делать аналогично и просто изменить <div class="manufacturer"><?php echo $text_manufacturer . " " . $product['manufacturer'];?></div>

 

на категорию, подскажите, пожалуйста, какое имя присвоить в место manufacturer?????

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


Пробуйте.Получить разжёванное прямо в рот проще.Но зато сделать самому намного приятней.

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

Пробуйте.Получить разжёванное прямо в рот проще.Но зато сделать самому намного приятней.

Подскажите, пожалуйста,  где капать? довно пытаюсь сам но ничего не выходит

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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