Перейти к содержанию
tim21701

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

Рекомендуемые сообщения

пасиб, то что нужно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо!!! хотелось бы что бы оно ещё нажималось с переходом товара производителя!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо все работает!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А может подскажите как прописать логотип на страницу производителя. Не могу сделать запрос к БД в manufacturer.php .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как вывести логотип производителя в стили?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как вывести логотип производителя в стили?

например задать класс картинке

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

post-28107-0-40949700-1358601907_thumb.png

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

OpenCart v.1.5.4.1.

Поделиться сообщением


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

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

Да, действительно, если у товара не указан производитель, то пытается загрузить несуществующее фото производителя :-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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил, все отлично, работает! :)

Спасибо большое за решение!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

attachicon.gifbad.png

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

OpenCart v.1.5.4.1.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Установлены логотипы всех производителей :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огромное спасибо, решение супер...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите,а можно вывести список производителей в список категорий?

Спасибо за изображение в производителях, очень красиво смотрится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Решение:

 

В файле 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  =  Размер изображений в заметках

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

<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);
Спасибо за мод, очень круто теперь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тоже не нужен ресайт, как убрать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От tim21701
      Часто задают этот вопрос, что бы не скидывать всем ссылки - вывожу её в отдельную тему.

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

      Итак, открываем файл: catalog/view/theme/ВАША_ТЕМА/stylesheet/stylesheet.css и находим строки:
      #menu { background: #585858; border-bottom: 1px solid #000000; height: 37px; margin-bottom: 15px; -webkit-border-radius: 5px 5px 5px 5px; -moz-border-radius: 5px 5px 5px 5px; -khtml-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-box-shadow: 0px 2px 2px #DDDDDD; -moz-box-shadow: 0px 2px 2px #DDDDDD; box-shadow: 0px 2px 2px #DDDDDD; padding: 0px 5px; } Добавляем туда строку (в любое место):
      text-align:center; Чуть ниже, (в этом же файле) находим:
      #menu ul { list-style: none; margin: 0; padding: 0; } Меняем на эти строки:
      #menu ul { list-style: none; margin:auto; padding: 0; display:inline-block; margin-bottom:-4px; text-align:left; } До:

      После:

      Расширяем возможности горизонтального меню...
       
    • От tim21701
      Если кому пригодится, то вот способ - как разместить на главной странице любой модуль.
      (для примера я взял три модуля; "Рекомендуем", "Хиты продаж" и "Слайд-шоу".)

      Вот результат:




      Итак, открываем файл catalog/controller/common/home.php и находим строку:
       
      $this->children[] = 'common/header'; Добаваляем после неё то - что хотим видеть на главной:
       
      $this->children[] = 'module/featured';$this->children[] = 'module/bestseller';$this->children[] = 'module/sidebarslideshow'; Далее, открываем catalog/view/theme/default/template/common/home.tpl и находим:
       
      <?php foreach ($modules as $module) { ?><?php echo ${$module['code']}; ?><?php } ?> И ниже добавляем своё:
       
      <?php echo $featured; ?><?php echo $bestseller'; ?><?php echo $sidebarslideshow'; ?> Затем, открываем catalog/view/theme/default/stylesheet/stylesheet.css и вместо блока (он в самом низу):
       
      #content .middle .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .middle .box .middle {width: 158px;min-height: 0px;} Ставим свой:
       
      #content .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .box .middle {width: 158px;min-height: 0px;} Таким способом, можно продублировать любой модуль на главной странице.
       
    • От tim21701
      Итак, если Вы не установили изображение для Категории товаров, берём случайное (из товара) и выводим его...

      Пример:



      Для этого, открываем /catalog/controller/product/category.php и находим строки:
       
      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';} После них, вставляем:

      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $category_info['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Ниже, находим блок:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';} После него вставляем:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $result['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Всё.
       
    • От tim21701
      Если Вы хотите, что бы на странице товара, при нажатии на вкладки "Описание", "Фото", "Отзывы", "Рекомендуем" они открывались "плавно" (эффект fade),
      откройте файл catalog/view/javascript/jquery/tab.js и найдите строку:
       
      $($(this).attr('tab')).css('display', 'block'); Добавьте ПЕРЕД ней эту:
       
      $($(this).attr('tab')).fadeIn(); Сохраните и посмотрите что получилось.
       
    • От tim21701
      Для любителей отображения меню списком "дерево" в стиле Windows XP, предлагаю такой вариант:



      Используемые значки:

      В модуле нет заменяемых файлов, только новые.
      Установка: Копируем папки из архива и включаем меню в админке.

      Внимание.
      Данный мод не заменяет основное меню Категорий, у Вас появится ещё одно меню с Категориями!
      (Которое можно использовать как дополнительное... Если захотите отставить только его - отключите "Основное").

      Tree Category.zip
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.