Jump to content
Sign in to follow this  
tippro

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

Recommended Posts

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

 

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

 

becf2d59f3c5.png

category.php

category.zip

Share this post


Link to post
Share on other sites

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

 

Для начала открываем файл \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

Share this post


Link to post
Share on other sites

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

 

Для начала открываем файл \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>

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

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

Share this post


Link to post
Share on other sites

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

category.php

category.zip

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Открыть файл 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

Share this post


Link to post
Share on other sites

Ничего не выходит, но я не нашел в файле <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']) { ?>

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

В админке в Каталог-Товар  в Связях указан производитель?

Share this post


Link to post
Share on other sites

В админке в Каталог-Товар  в Связях указан производитель?

Конечно связан. у  меня более 100 товаров и у всех свои производители и категории

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

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

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

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

Share this post


Link to post
Share on other sites

Ссылка ведёт на отсутствие  файлов.

Share this post


Link to post
Share on other sites

В Вашем шаблоне сделайте немного иначе  в 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;
}

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

 

 

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


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

 

 

 

Заменить

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

на

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Описание выше.

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.