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

[How-To] Логотип Производителя на странице Товара


Recommended Posts

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

=========================================================================
-----------------НЕ ЗАБЫВАЕМ ПРО РЕЗЕРВНОЕ КОПИРОВАНИЕ ФАЙЛОВ!-----------------
=========================================================================

Внешний вид:
Изображение


1). Открываем /catalog/model/catalog/product.php и находим:
 

pd.name AS name, p.image, m.name AS manufacturer,

Добавляем:
 

m.image AS mimage,

Ниже (в этом же файле), находим строку:


'image' => $query->row['image'],

После неё добавляем:


'mimage' => $query->row['mimage'],

2). Открываем /catalog/controller/product/product.php и в после строки:

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

Добавляем:

$this->data['mimage'] = $this->model_tool_image->resize($product_info['mimage'],150,80);

3). Открываем /catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl и добавляем (где необходимо):

<img src="<?php echo $mimage; ?>" title="<?php echo $manufacturer; ?>" />

Всё.

4). Пример реализации как на изображении выше. Код вставлен в конце строки:


<span><?php echo $text_stock; ?></span> <?php echo $stock; ?></div>

И между <br /> и </div>.


5). Если, необходимо на изображении добавить ссылку - ведущую к странице с данным производителем:

То, строку:
 

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

Меняем на эту:


<a href="<?php echo $manufacturers; ?>"><img src="<?php echo $mimage; ?>" title="<?php echo $manufacturer; ?>" /></a>


Добавляем проверку на отсутствие изображение товара.
Добавляем изображение на страницу "Производители".

 

Змінено користувачем tim21701
  • +1 18
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...
  • 1 month later...

в файле product.tpl чуть віше добавлений есть ссылка на производителя, текстовая, скопируйте ее код, в то место куда вы добавляете изображение, и замените текст названия производителя на изображение, которое вы выводите, и будет вам счастье.

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


  • 2 months later...
  • 1 month later...
  • 2 months later...
  • 4 weeks later...

Спасибо, работает на 1.5.1.3! Единственный момент - если производитель не указан - то "пытается" показать логотип но не находит, и видно что картинка не загрузилась.

Т.е. было бы неплохо добавить проверку на указание товару - производителя. Если он не указан - не выводить логотип.

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


  • 3 weeks later...
  • 1 month later...
  • 4 weeks later...
  • 1 month later...
...Единственный момент - если производитель не указан - то "пытается" показать логотип но не находит, и видно что картинка не загрузилась.

Т.е. было бы неплохо добавить проверку на указание товару - производителя. Если он не указан - не выводить логотип....

Да, действительно, если у товара не указан производитель, то пытается загрузить несуществующее фото производителя :-D Прошу прощения... Вот Вам "проверка":

Для того что бы это исправить, вместо шага №3

3). Открываем /catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl и находим строку:

<span><?php echo $text_manufacturer; ?></span> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a><br />

И вместо неё, вставляем эту:

<span><?php echo $text_manufacturer; ?></span><a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?><?php if ($mimage) { ?>
<img style="float:right" src="<?php echo $mimage; ?>" title="<?php echo $manufacturer; ?>" alt="<?php echo $manufacturer; ?>" /></a><br /><?php } else { ?></a><br />
<?php } ?>

Шаги №4 и №5 пропускаем.

Теперь, если у товара не указан производитель, то "пустое" изображение не выводится - так же, как ссылка на производителя...

=========================================================================

-----------------НЕ ЗАБЫВАЕМ ПРО РЕЗЕРВНОЕ КОПИРОВАНИЕ ФАЙЛОВ!-----------------

=========================================================================

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

...как этот же логотип, можно такого же размера и таким же методом вывести на страницу производителя...

=========================================================================

-----------------НЕ ЗАБЫВАЕМ ПРО РЕЗЕРВНОЕ КОПИРОВАНИЕ ФАЙЛОВ!-----------------

=========================================================================

1). Открываем /catalog/controller/product/manufacturer.php и перед строкой:

$this->data['categories'][$key]['manufacturer'][] = array(

Добавляем:

 if ($result['image']) {
$mimage = $this->model_tool_image->resize($result['image'],50,50);
} else {
$mimage = $this->model_tool_image->resize('no_image.jpg',50,50);
}

(Здесь указываем размер изображений Производителя...)

Если изображение для Производителя не указано - выводим картинку "no_image.jpg" из папки image в корне сайта.

4175898.png

Далее, чуть ниже (в этом же файле) находим строку:

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

После неё добавляем:

'image' => $mimage,

2). Открываем /catalog/view/theme/ВАША_ТЕМА/template/product/manufacturer_list.tpl и находим строку:

<li><a href="<?php echo $category['manufacturer'][$i]['href']; ?>"><?php echo $category['manufacturer'][$i]['name']; ?></a></li>

Меняем её на этот код:

	<li>
<a href="<?php echo $category['manufacturer'][$i]['href']; ?>">
<span style="float:left;text-align:center">
  <img src="<?php echo $category['manufacturer'][$i]['image']; ?>" title="<?php echo $category['manufacturer'][$i]['name']; ?>" alt="<?php echo $category['manufacturer'][$i]['name']; ?>" /><br />
  <?php echo $category['manufacturer'][$i]['name']; ?>
</span>
</a>
 </li>

Всё.

post-5473-0-89508500-1362015122_thumb.png

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

  • 3 months later...

Получается нечто следующее:

attachicon.gifbad.png

Адрес незагруженного изображения показывает в корень сайта. Куда копать, не подскажете?

OpenCart v.1.5.4.1.

посмотри установлен ли логотип в каталог>производители>Lincoln>Изображение

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


  • 2 months later...
  • 1 month later...

Спасибо, на странице производители - все стали к логотипами. А как сделать чтобы на странице отдельного производителя тоже отображался бы логотип?

 

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


  • 3 weeks later...

$this->data['mimage'] = $this->model_tool_image->resize($product_info['mimage'],150,80);

 

--------------------------------------------------------

А как можно убрать ресайз изображения?

 

Просто у всех изображений высота одинаковая, а вот ширина разная....

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


  • 2 months later...
  • 2 weeks later...

Спасибо, на странице производители - все стали к логотипами. А как сделать чтобы на странице отдельного производителя тоже отображался бы логотип?

 

Тоже интересует этот вопрос.

 

Решение:

 

В файле catalog/controller/product/manufacturer.php

 

После строчки

 

$this->data['heading_title'] = $manufacturer_info['name'];
            }
 

Добавляем

 

if( $manufacturer_info['image'] ) {
                    $this->data['manufacturer_image'] = $this->model_tool_image->resize($manufacturer_info['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'));
                } else {
                    $this->data['manufacturer_image'] = false;
                }

В файле catalog/view/theme/Ваша Тема/template/product/manufacturer_info.tpl

 

Где угодно - я поставил после

<h1><?php echo $heading_title; ?></h1>

 

Ставим

 

<?php if( $manufacturer_image ) { ?>
                <img src="<?php echo $manufacturer_image; ?>" /><br />
                <?php } ?>

Готово.

 

Размер лого берется из указанных в система - настройки - изображения - дополнительные картинки товаров

 

Что бы изменить привязку на другие размеры картинок меняем

 

image_additional

 

на

 

image_category    = Размер изображений списка категорий

image_thumb       = Размер большого изображения товара

image_popup      = Размер всплывающего изображения товара

image_product    = Размер изображений списка товаров

image_additional   = Размер дополнительных изображений товаров

image_related    = Размер изображений аналогичных товаров

image_compare      = Размер изображений при сравнении

image_wishlist  =  Размер изображений в заметках

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


  • 1 month later...

Сделал, все как указано и фото не выводится. 
 
когда смотрю код элемента то вижу такую ошибку 
 

<b>Notice</b>: Undefined variable: mimage in <b>Y:\home\tariba\www\catalog\view\theme\default\template\product\product.tpl</b> on line <b>34</b> 

из того что я вижу понимаю что mimage где-то неверно объявлена или что-то в этом духе(хотя совсем далек от пхп, но имею небольшое понятие в html, css). 
Можете подсказать что неверно сделано. 
 
Я не совсем понимаю где в этом моде указывается путь к фото и откуда он его будет брать. Я предположит что оно берется из фото которое я указываю в админке в Производителях. Я верно предполагаю или нет? Если нет то где нужно будет указать адреса к фото. 
 
Попутный вопрос как я понял фото ресайзится, но у меня они все под шаблон, поэтому может быть ресайз можно убрать. Если да, то как это верно сделать? Если нет, то верно ли я понимаю что размеры фото указываются в этой части кода - resize($product_info['mimage'],150,80);

 

Заранее спасибо.

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


Форумчане, может кто-то сталкивался с проблемой описаной выше.

UPD вопрос снят. Повторил все заново из оригинальных файлов и все заработало. Видимо перед этим нарушил форматирование.

Только один вопрос, если мне не нужно делать ресайз, как верно прописать эту строку?

$this->data['mimage'] = $this->model_tool_image->resize($product_info['mimage'],150,80);
Спасибо за мод, очень круто теперь.
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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