Стань специалистом и зарабатывай в Интернет

Только реальные способы заработка в сети.
От копирайтинга до SEO-оптимизации.
Проверено 100% на личном опыте!

Вывод описания и логотипа производителя в Opencart (OcStore)

Производители (бренды) и логотипы в Опенкарт

По умолчанию далеко не во всех темах Opencart выводится описание производителей и их логотип в соответствующем разделе. То есть вы задаете описание, вставляете картинку и … ничего не происходит. Нужно просто добавить код для вывода описания и лого в программные файлы магазина.Для чего вообще нужно описание производителей (брендов) в магазине? Современное SEO требует продвижения «по всем фронтам», в том числе по запросам, связанным с производителями, которые далеко не всегда удается добавить в описание продвигаемой категории.

Пример

Если у вас есть запрос «купить кондиционер», то по нему логично продвигать категорию «Кондиционеры».

Но если стоит задача также продвинуться по запросу «Komatsu в Минске», то для этого правильнее задействовать страницу с описанием производителя Komatsu, на которую и будет заходить целевая аудитория.

Поэтому если у вас стоит задача задействовать описание производителя в магазине OcStore (именно OcStore!), то действуйте по инструкции ниже.

Вывод описания производителя

Чтобы менять программные файлы сайта понадобится, как обычно, доступ по FTP (читать «Как зайти на сайт по FTP«).

1Заходим сюда:  catalog/view/theme/ваша тема/template/product/manufacturer_info.tpl и находит строку, которая выводит название производителя: <h1><?php echo $heading_title; ?></h1>

2После названия логично будет добавить само описание. Делается это вот таким кодом:

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

Данный код, конечно, можно поставить не только после описания, но и вообще в любое место магазина на Opencart.

Вывод логотипа производителя

Итак, описание производителя уже выводится, а вот логотип, добавленный через админку, все никак не показывается?

Тогда делаем следующее:

1 Идем вот сюда: /catalog/controller/product/manufacturer.php и добавляем после строчки: «if ($manufacturer_info) {» вот такой код:

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

2 Затем отправляемся сюда: catalog/view/theme/ваша тема/template/product/manufacturer-info.tpl и добавляем уже непосредственно код для вывода логотипа (в любое удобное место, но я рекомендую вставлять сразу после названия, обычно оно в тегах H1 находится), жирным отмечено, что я добавил:

<div class="manufacturer-info">
<?php if ($description) { ?>
<?php if ($image) { ?>
      <img src="<?php echo $image; ?>" title="<?php echo $heading_title; ?>" align="left" style="margin: 2px 10px 2px 0px;" alt="<? echo $heading_title; ?>">
    <?php } ?>
<?php echo $description; ?></div>
<?php } ?>

В итоге должно получиться примерно вот так:

Вывод логотипа в описании производителя

А если я хочу, чтобы логотип бренда показывался на странице товара? Тогда читайте дальше.

Логотип бренда на странице товара

1 Сначала открываем файл: catalog/model/catalog/product.php и в функции getProduct() добавляем такой код: m.image AS man_img, чтобы получилось примерно вот так: $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, m.image AS man_img,

2 Затем уже по аналогии правим: catalog/controller/product/product.php и добавляем в него $this->data['man_img'] = $product_info['man_img'];

3 И остается только вывести саму картинку логотипа: catalog/view/theme/ваша тема/template/product/product.tpl: <img src="image/<? echo $man_img; ?>" align="left" style="margin: 2px 10px 2px 0px;" alt="<? echo $heading_title; ?>"/>

У меня все отлично работает на OcStore  1.5.5.x

Приз!

Хотите попробовать выиграть денежный приз прямо сейчас? Все что, вам нужно сделать — кликнуть на иконку любой соцсети. Это просто и бесплатно :clap:

Выиграть приз

Было интересно - жми на звезды:



Комментарии на блоге
Комментариев (14)
  1. Георгий

    не сработало, выводит ошибку
    Notice: Use of undefined constant ‘image’ — assumed '‘image’' in /home/i/infox/opentest/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 167Notice: Undefined index: ‘image’ in /home/i/infox/opentest/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 167Notice: Use of undefined constant ‘image’ — assumed '‘image’' in /home/i/infox/opentest/public_html/vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 170

    ocstore 1.5.5.1.2

    как сделать?

  2. Кстати, сейчас поставил плагин Unfancy Quote Plugin, теперь движок WordPress не должен коверкать кавычки, можно код копировать без проблем — раньше не обращал внимания, спасибо :yes:

  3. Георгий

    спасибо, получилось, только криво
    http://prntscr.com/7ksmjk
    как поправить?

    • Георгий

      то есть если текст добавлять, то вроде норм, но у большинства производителей нет лого
      http://prntscr.com/7ksnjx

      • Так а что именно криво у вас получилось?
        Из скриншота не совсем понятно )

        • Георгий

          http://prntscr.com/7ksmjk и http://prntscr.com/7ksnjx
          на 1м скрине строка, где «вид: сетка, список», отъехала вправо, хотя по идее должна была съехать вниз, то есть без отступа.
          То есть чтобы победить этот косяк надо обязательно писать описания для всех производителей. вот скрин с пояснениями http://prntscr.com/7kx0jb
          в теории надо вставить кучу br или отстутпом посредством css сделать, только как?

          • Это не косяк, просто в данном шаблоне, возможно, не был предусмотрен вывод лого производителя.

            Вы же можете вставить лого и описание в то место страницы, которое лучше всего подходит для этих целей, исходя из вашего конкретного шаблона, чтобы ничего не съезжало и выглядело хорошо.

            Или же в CSS меняете отступы/положение на станице, при этом, конечно, кучу br вставлять ни в коем случае не надо — потом придется убирать )

            Я не верстальщик, поэтому, возможно, вам понадобится найти какого-нибудь фрилансера для этих целей, но киньте адрес сайта сюда, интересно посмотреть будет в исходном коде как у вас это реализовано.

  4. Элл

    А как вывести лого на странице со списком брендов? То есть на brands.html, что бы там были не только названия, а еще и их лого?

    • Станислав

      Да меня тоже этот вопрос очень интересует =)

  5. Ну вот например, как у меня это сделано в файле
    /catalog/view/theme/default/template/product/manufacturer_list.tpl
    (у меня OcStore 1.5)

    <h1><?php echo $heading_title; ?></h1>
    
      <?php if ($manufacturers) { ?>
      <div class="vendors-section-list">
      <div class="vendors-section-items">
      <?php foreach ($manufacturers as $manufacturer) { ?>
      <div class="vendors-section-item">
    	<a 1="echo" 2="$manufacturer['href'];" 3="?" rel="nofollow">">
    		<div class="item">
    			<div class="image"><img src="<?php echo $manufacturer['image']; ?>"/></div>
    			<div class="item-title"><?php echo $manufacturer['name']; ?></div>
    		</div>
    	</a>
      </div>
      <?php } ?>

    То есть логотип выводится вот этим кодом:

    <img src="<?php echo $manufacturer['image']; ?>"/>
  6. Света

    Добрый день!
    После добавления в manufacturer_info.tpl вот такая ошибка:
    Notice: Undefined variable: description in …/template/product/manufacturer_info.tpl

    ocStore-2.1.0.2.1, шаблон не дефолтный. Подскажите, что сделать? Добавить переменную, куда?

    • Для 2.x метод вряд ли подойдет, этот пример приведен для старой версии Ocstore 1.5

      Вам нужно дальше погуглить, может где найдете решение. Если у меня появится, я тут выложу, но пока помочь не смогу, увы.

      • Света

        увы, нет решения. По этому поводу на форуме только такой ответ: не ставьте шаблоны для opencart на ocstore(

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

  • :smile:
  • :giggle:
  • :cool:
  • :yes:
  • :no:
  • :facepalm:
  • :nerd:
  • :clap:
  • :devil:
  • :wait:
  • :whew:
  • :cry:
  • :wall:
  • :bow:
  • :cash:
more »

Подписка на бесплатные уроки
Подписаться!