Фото логотипа у производителя

Тема в разделе "Общие вопросы", создана пользователем Juzosif, 4 дек 2015.

  1. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    262
    Симпатии:
    20
    Добавил в файле catalog\controller\product manufacturer.php
    Код:
        $data['img_man'] = $manufacturer_info['image'];
    в файле \catalog\view\theme\default\template\product manufacturer_list.tpl
    Код:
        <div class="center">
    <img src="image/<? echo $img_man; ?>" />
    Изображение не отображается где допустил ошибку?

    Версия 2.0.3.1
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    посмотрите как выводится изображение в других контроллерах, например в product.php
    Не справитесь, пишите. Справитесь, отпишитесь как сделали. )
     
  3. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    262
    Симпатии:
    20
    Не справился с product.php
    Сделал через OCMod
    Код:
    <modification>
      <name>Manufactur_Logo</name>
      <version>0.1</version>
      <author>Cerami.ca</author>
      <code>manufactur_logo</code>
      <file path="catalog/view/theme/*/template/product/manufacturer_list.tpl">
      <operation>
      <search><![CDATA[
      <a href="<?php echo $manufacturer['href']; ?>"><?php echo $manufacturer['name']; ?></a>
      ]]>
      </search>
      <add position="replace"><![CDATA[
                     <a href="<?php echo $manufacturer['href']; ?>"><?php echo $manufacturer['name']; ?></a>
      <?php if($manufacturers_img) { ?>
      <a href="<?php echo $manufacturers; ?>"><?php echo ($manufacturers_img) ? '<img src="'.$manufacturers_img.'" title="'.$manufacturer.'" />' : '' ;?></a>
      <?php } else { ?>
      <?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a>
      <?php } ?>
      ]]>
      </add>
      </operation>
      </file>
      <file path="catalog/controller/product/manufacturer.php">
      <operation>
      <search><![CDATA[
      $data['heading_title'] = $manufacturer_info['name'];
      ]]>
      </search>
      <add position="after"><![CDATA[
      $manufacturer_image = $this->model_catalog_manufacturer->getManufacturer($product_info['manufacturer_id']);
      if($manufacturer_image){
      $data['manufacturers_img'] = $this->model_tool_image->resize($manufacturer_image['image'], 150, 150);
      } else {
      $data['manufacturers_img'] = false;
      }
      ]]>
      </add>
      </operation>
      </file>
    </modification>
    
    В место изображение появилось надпись:
    Array
    Где допустил ошибку?
     
  4. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    262
    Симпатии:
    20
    Не много изменил свой файл
    Код:
    <modification>
        <name>Manufactur Logo</name>
                <version>0.1</version>
             <author>Cerami.ca</author>
             <code>manufactur_logo</code>
             <file path="catalog/view/theme/*/template/product/manufacturer_list.tpl">
                        <operation>
                                    <search><![CDATA[
                                   <a href="<?php echo $manufacturer['href']; ?>"><?php echo $manufacturer['name']; ?></a>
                                    ]]>
                                    </search>
                                    <add position="replace"><![CDATA[
                                    <a href="<?php echo $manufacturer['href']; ?>"><?php echo $manufacturer['name']; ?></a>
                                    <?php if($manufacturers_img) { ?>
                                               <a href="<?php echo $manufacturers; ?>"><?php echo ($manufacturers_img) ? '<img src="'.$manufacturers_img.'" title="'.$manufacturer.'" />' : '' ;?></a>
                                    <?php } else { ?>
                                               <?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a>
                                    <?php } ?>
                                     ]]>
                                    </add>
                        </operation>
             </file>
             <file path="catalog/controller/product/manufacturer.php">
                        <operation>
                                    <search><![CDATA[
                                   $data['heading_title'] = $manufacturer_info['name'];
                                    ]]>
                                    </search>
                                    <add position="after"><![CDATA[
                                    $manufacturer_image = $this->model_catalog_manufacturer->getManufacturer($manufacturer_id);
                                     if($manufacturer_image){
                                                $data['manufacturers_img'] = $this->model_tool_image->resize($manufacturer_image['image'], 150, 150);
                                     } else {
                                                $data['manufacturers_img'] = false;
                                     }
                                    ]]>
                                    </add>
                        </operation>
             </file>
    </modification>
    Вижу на странице Производителей вот такую ошибку:
    Код:
     Notice: Undefined variable: manufacturers_img in C:\OpenServer\domains\test\system\modification\catalog\view\theme\default\template\product\manufacturer_list.tpl on line 32 Notice: Undefined variable: text_manufacturer in C:\OpenServer\domains\test\system\modification\catalog\view\theme\default\template\product\manufacturer_list.tpl on line 35
    Если смотреть этих строк:
    То
    Знающие люди подскажите где допустил ошибку?
     
  5. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    262
    Симпатии:
    20
  6. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.438
    Симпатии:
    780
    в файле \catalog\controller\product\manufacturer.php

    почти в самом начале, например строка 5, вставим
    PHP:
    $this->load->model('tool/image');

    потом найти
    PHP:
    $data['categories'][$key]['manufacturer'][] = array(
    и после вставить
    PHP:
    'thumb'       => $image,
    далее перед найденным вставить
    PHP:
          if ($result['image']) {
             
    $image $this->model_tool_image->resize($result['image'], 100100);
           } else {
             
    $image $this->model_tool_image->resize('placeholder.png'100100);
           }

    а в шаблон \catalog\view\theme\default\template\product\manufacturer_list.tpl
    Код:
    <?php echo $manufacturer['thumb']; ?>
     
  7. Juzosif

    Juzosif Активный пользователь

    Сообщения:
    262
    Симпатии:
    20
    Спасибо, но не помогло _demo.cerami.ca/index.php?route=product/manufacturer
     
  8. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.438
    Симпатии:
    780
    Наверно мне нужно было написать так, чтобы вообще не нужно было думать )

    Код:
    <img class="img-responsive" alt="" title="" src="<?php echo $manufacturer['thumb']; ?>">
     
    Juzosif нравится это.
  9. Alexrabbit

    Alexrabbit Новичок

    Сообщения:
    3
    Симпатии:
    0
    Подскажите, пожалуйста, кто-нибудь как вывести логотип производителя на странице производителя (manufacturer_info.tpl) opencart Version 2.1.0.1. ? Хотя бы, что нужно прописать в контроллере.
     
  10. Alexrabbit

    Alexrabbit Новичок

    Сообщения:
    3
    Симпатии:
    0
    Огромное спасибо! Но это вывод логотипов на странице manufacturer_list.tpl , а мне нужно на manufacturer_info.tpl. Там контроллер надо запилить, а как я не знаю.
     
  11. solunski.d

    solunski.d Эксперт

    Сообщения:
    1.569
    Симпатии:
    432
    У вас решение уже есть, если вы не умеете пользоваться тем что есть, соответственно нанимайте исполнителя.
     
  12. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    да... не то дал. В общем в файле

    \catalog\controller\product\manufacturer.php

    находите
    PHP:
    $data['heading_title'] = $manufacturer_info['name'];
    и после вставляете
    PHP:
                    if ($manufacturer_info['image']) {
                        
    $data['image'] = $this->model_tool_image->resize($manufacturer_info['image'], 100100);
                    } else {
                        
    $data['image'] = $this->model_tool_image->resize('placeholder.png'100100);
                    }
    в шаблоне выводите переменную $image , т.е там будет путь до логотипа
     
    Alexrabbit нравится это.
  13. Alexrabbit

    Alexrabbit Новичок

    Сообщения:
    3
    Симпатии:
    0
    Преогромнейшее спасибище!!!! Все работает!!!:):):)Супер! А то задолбался уже искать.
     
  14. Ozzborn

    Ozzborn Новичок

    Сообщения:
    8
    Симпатии:
    0
    Спасибо за совет. Сделал так, но логотип немного съезжает на следующего производителя. Не могу пока разобраться, как разместить логотип над названием производителя. И почему-то не все логотипы подтягивает. Хотя в админке картинки добавлены.
    У меня по этому поводу другой вопрос. Как в списке производителей убрать их названия, заменив их на кликабельные логотипы?
    И то же самое в карточке производителя.
    Не подскажете. Заранее благодарю за помощь.
     
    Последнее редактирование: 7 июл 2017
  15. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.519
    Симпатии:
    241
    Что такое ссылка знаете? Ну посмотрите примеры в других частях шаблона. Чем раньше поймете и разберетесь, тем лучше.
    Это же обычный html, дети в школе изучают его даже.
     
    Ozzborn нравится это.
  16. Artemije

    Artemije Новичок

    Сообщения:
    2
    Симпатии:
    0
    Кому интересно решение: я взял код из тема/template/product/category.tpl слегка отредактировал и вставил в тема/template/product/manufacturer_info.tpl сразу после заголовка <h2><?php echo $heading_title; ?></h2> и занес описание и логотип в <div class="row"></div> получился такой код:

    <div class="row">
    <!-- добавил из category.tpl -->
    <?php if ($thumb) { ?>
    <div class="col-xs-2" style="margin: 1%">
    <img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" title="<?php echo $heading_title; ?>" class="img-thumbnail" />
    </div>
    <?php } ?>


    <!-- описание производителя -->

    <?php if ($description) { ?>
    <div class="manufacturer-info"><?php echo $description; ?></div>
    <?php } ?>
    </div>
     
  17. vikaharkov

    vikaharkov Продвинутый пользователь

    Сообщения:
    676
    Симпатии:
    71
    Воротись к рыбке, поклонись и скажи: Не хочет злая старуха коды читать и результаты угадывать, хочет видеть этот результат воочию (по мотивам сказки А.С. Пушкина)

    * Покажте скрин результата, чтобы понятней суть действа была
     
  18. Artemije

    Artemije Новичок

    Сообщения:
    2
    Симпатии:
    0