Как Добавить Логотип Производителя В Карточке Товара В Opencart 2.x

Тема в разделе "Шаблоны, дизайн и оформление магазина", создана пользователем admin, 17 июн 2016.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    2.321
    Симпатии:
    76.112
    Репутация:
    170
    В этом посте мы покажем вам, как быстро и просто можно добавить логотип производителя в карточке товара вместо строки “Производитель:XXXX”

    add-manufacturer-logo.jpg

    Для этого вы можете выбрать любой из двух предложенных ниже методов.

    1. Изменение основных файлов (не рекомендуется)
    Первый способ достигается путем изменения файлов ядра. Однако, этот подход не рекомендуется, поскольку может вызвать сбой в работе других расширений.

    Открываем catalog/view/theme/шаблон/template/product/product.tpl и находим следующий код:

    Код:
    <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li>
    Заменяем его на код ниже:

    Код:
    <?php if($manufacturers_img) { ?>
      <li><a href="<?php echo $manufacturers; ?>"><?php echo ($manufacturers_img) ? '<img src="'.$manufacturers_img.'" title="'.$manufacturer.'" />' : '' ;?></a></li>
    <?php } else { ?>
      <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li>
    <?php } ?>
    Сохраните документ и загрузите на сервер. Затем перейдите в catalog/controller/product/product.php и найдите строку:

    Код:
    $this->load->model('tool/image');
    Добавьте следующие строки после неё:

    Код:
    $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'], 50, 50);
    } else  {
        $data['manufacturers_img'] = false;
    }
    Обратите внимание, что два числа в этом фрагменте кода отвечают за ширину и высоту изображения, так что вы можете изменить их в зависимости от ваших собственных предпочтений:

    Код:
    resize($manufacturer_image['image'], 50, 50);
    Убедитесь, что вы сохранили и загрузили файл на сервер.

    2. Использование OCMod (рекомендуется)
    Второй подход может занять немного больше времени, но он безопаснее. При использовании этого метода вы не изменяете основные файлы движка, и можете включать или выключать модификацию в любое время. В общем, метод включает в себя создание файла модификации OCmod и загрузку этого файла через встроенный OpenCart 2.x extension installer (установщик расширений).

    Во-первых, вам нужно создать файл с помощью любого текстового редактора, и скопировать в него следующий код:

    Код:
    <modification>
      <name>Add Manufacturer Logo on Product Page</name>
      <version>1.1.1</version>
      <author>iSenseLabs</author>
      <code>isenselabs_addmanufacturerlogo</code>
      <file path="catalog/view/theme/*/template/product/product.tpl">
      <operation>
      <search><![CDATA[
      <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li>
      ]]>
      </search>
      <add position="replace"><![CDATA[
      <?php if($manufacturers_img) { ?>
      <li><a href="<?php echo $manufacturers; ?>"><?php echo ($manufacturers_img) ? '<img src="'.$manufacturers_img.'" title="'.$manufacturer.'" />' : '' ;?></a></li>
      <?php } else { ?>
      <li><?php echo $text_manufacturer; ?> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></li>
      <?php } ?>
      ]]>
      </add>
      </operation>
      </file>
      <file path="catalog/controller/product/product.php">
      <operation>
      <search><![CDATA[
      $this->load->model('tool/image');
      ]]>
      </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'], 50, 50);
      } else {
      $data['manufacturers_img'] = false;
      }
      ]]>
      </add>
      </operation>
      </file>
    </modification>
    Затем сохранить этот файл со следующим именем: namebyyourchoice.ocmod.xml

    Имейте в виду, что расширения .ocmod.xml является обязательным, в противном случае OpenCart неверно распознает изменения.

    После того как вы создали файл, перейдите в панель администратора вашего OpenCart магазина, далее - в раздел Дополнения => Установка дополнений (Extensions => Extension Installer) загрузите файл. После того, как вы получите сообщение об успешном завершении, перейдите в Дополнения => Модификации (Extensions => Modifications) и нажмите на кнопку обновить (refresh) для того, чтобы применить новые изменения.

    Поздравляем! Теперь вы добавили логотип производителя на свою страницу продукта!

    Окончательный результат должен быть похож на этот:

    manlogo1.png