Настройка сопутствующих (похожих) товаров в VirtueMart 3

Опубликовано: 1 Март, 2015
Обновлено: 19 Август, 2016
Категория: Настройка VirtueMart
Комментариев: 78

Сопутствующие товары - это товары, которые чаще всего покупают с основным товаром (например, различные аксессуары), либо просто похожие товары из той же категории.

Добавление сопутствующих товаров

Для добавления похожих товаров в virtuemart 3 нужно зайти во вкладку Настраиваемые поля и начать вводить название нужного товара в поле Поиск сопутствующих товаров.

поиск сопутствующих товаров

Если вы установили или обновили virtuemart до версии 3, то в Virtuemart > Товары > Настраиваемые поля уже должно быть создано новое настраиваемое поле Сопутствующие товары.

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

настройки поляВ полях Заголовок, Описание, Всплывающая подсказка указаны языковые переменные. Вместо них можно просто указать свой текст.

Изменение шаблона вывода сопутствующих товаров

По умолчанию показывается только список ссылок на похожие товары.

вид похожих товаров по умолчанию

Для показа цены и изображения изменяем настройки настраиваемого поля Сопутствующие товары.

настройки сопутствующих товаров

Так же здесь можно задать размер миниатюр изображений товара и показ краткого описания.

За вывод похожих товаров в карточке товара отвечает код, находящийся в файле \components\com_virtuemart\views\productdetails\tmpl\default.php.

Сам шаблон похожих товаров находится по адресу \components\com_virtuemart\sublayouts\related.php. В той же папке находятся и другие части кода, которые зачаcтую повторяются на разных страницах магазина. Это облегчает редактирование шаблона магазина в целом.

Для сохранения изменений шаблона похожих товаров после обновления virtuemart создадим папку  \templates\имя_шаблона\html\com_virtuemart\sublayouts и скопируем туда файл related.php.

Для улучшения внешнего вида немного изменим шаблон вывода. В файле \templates\имя_шаблон\html\com_virtuemart\sublayouts\related.php заменим

на

Добавим немного стилей в файл стилей шаблона.

После этого похожие товары будут выглядеть примерно так.

вид похожих товаров после редактирования

Для вывода не только окончательной цены, но и цены без скидки после строки

Добавим

Вывод кнопки Купить у похожих товаров

Для вывода кнопки Купить используйте этот код

 

78 комментариев

    Виктория

    Подскажите, как вывести настраиваемые поля слева от изображения товара в VirtueMart 3

      admin

      admin

      Здравствуйте!
      Перенесите, пожалуйста, вопрос на форум http://virtuemart.su/forums/forum/virtuemart-3/
      Уточните где именно нужно изменить вывод настраиваемых полей

    Дмитрий

    приветствую, а как к ним добавить кнопку "купить"?

    Дмитрий

    админ, похоже, в отпуске ((

      admin

      admin

      На этот вопрос пока нет решения, если найдете, пожалуйста, поделитесь

        Алексей

        Вот код для вывода кнопки "Купить":

        Проверено на VM 3.0.9.4

          admin

          admin

          Спасибо, что поделились.

    Виктория

    Не могу понять никак, сопутствующие товары это товары другой категории, похожие товары это товары той же категории. Но для одного товара я могу вывести только или то или другое, а мне надо и то и другое. Т.е. магазин продает матрасы, кровати, подушки. Сопутствующие товары к матрасам это подушки. Похожие товары к матрасам это матрасы. Вот и как вывести в карточке у матраса подобные ему матрасы и сопутствующие подушки?

      admin

      admin

      Вы можете вывести любые товары в Похожих товарах (можно их назвать Сопутствующими).
      Для вывода других товаров этой же категории можно использовать универсальный модуль товаров
      http://virtuemart.su/universalnyj-modul-tovarov-virtuemart-2/
      не тестировал его на vm3, поэтому возможно работать не будет

    Павел

    Добрый день! Подскажите пожалуйста есть ли модуль для удобного добавления сопутствующих товаров в админе. Это ведь крайне не удобно как сейчас, т е нужно начать вводить название товара, а если их много и т д. Гораздо лучше сделать чтобы можно было галочками выбрать из всех существующих! Спасибо!

      admin

      admin

      Здравствуйте!

      Таких модулей не встречал.
      В любом случае, если на сайте несколько тысяч товаров, то выбор просто галочками будет неудобен.

        Павел

        Будет около 6 категорий , в товаров 200-300. А допустим чтобы в сопутствующих можно указать одну категорию и все товары которые в ней randomom выскакивали ?

          admin

          admin

          Для vm2 есть универсальный модуль товаров, в нем можно задать произвольный вывод товаров из текущей категории.
          Для vm3 таких модулей не встречал, если найдете решение, то, пожалуйста, поделитесь.

    Алексей

    Все понятно, только я никак не пойму как убрать эту синюю иконку с литерой i справа от надписи "Сопутствующие товары"? Может кто знает?

      admin

      admin

      В настройках Настраиваемого поля выберите удалите весь текст из поля Всплывающая подсказка.

    Андрей

    Простая задача поставила в тупик:
    вывод дополнительных полей- одно поле одна строчка, т.е.
    (имя поля) (данные)
    (имя поля) (данные) и т.д.
    Но тогда и заголовок "сопутствующие товары" встает в одну строчку с самими товарами
    Как задать заголовку "сопутствующие товары" отдельный стиль?

      admin

      admin

      Это можно решить с помощью css.
      Пришлите ссылку на страницу с сопутствующими товарами.

        Андрей

        http://hozyindoma.ru/tualet/tualet-tualet-terem-detail
        пробовал стилями играться, но они цепляют все дополнительные поля, а как задать отдельный стиль именно для сопутствующих товаров и категорий знаний не хватает.
        Тут еще зачеркнутый текст ссылки "задать вопрос" откуда-то вылез

          admin

          admin

    Юрий

    Здравствуйте.

    У меня под ценой каждого товара надпись "Сопутствующие товары". Не подскажете как это убрать?

      Юрий

      И где найти файл, где можно изменить разметку?
      тут \components\com_virtuemart\sublayouts\related.php. - этого сделать нельзя

        admin

        admin

        Отдельного файла с разметкой сопутствующих товаров нет.
        Частично можно внести изменения в файле /components/com_virtuemart/sublayouts/customfield.php.
        За сопутствующие товары отвечает часть

      admin

      admin

      Пришлите ссылку на сайт.

        Юрий

        http://f1-support.pp.ua/ru/produktsiya/izdeliya-iz-dereva/bizhuteriya/sergi/%D1%81%D0%B5%D1%80%D1%8C%D0%B3%D0%B8-%D0%BB%D0%B0%D0%BF%D0%BA%D0%B8-1-detail - кидаю вам ссылку сразу на товар, так как именно на нем провожу тесты и настраиваю модули

          admin

          admin

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

            Юрий

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

            Еще одна проблемка - не отображаются изображения в chrome у сопутствующих товаров. Даже в IE все в порядке, а в хроме нет.

            admin

            admin

            Страница недоступна.
            Если в IE картинки показываются, то проблема, скорее всего, в кеше браузера.

            Юрий

            http://tallinna-suveniirid.com/ru/produktsiya/izdeliya-iz-dereva/bizhuteriya/sergi/%D1%81%D0%B5%D1%80%D1%8C%D0%B3%D0%B8-%D0%BB%D0%B0%D0%BF%D0%BA%D0%B8-detail - переехал сайт на свой домен уже ..

            admin

            admin

            Чтобы изображения выравнивались и по горизонтали и по вертикали добавьте в конец файла /templates/tallinna/css/template.css

    Stas

    Проблема такая.
    При выборе в Настраиваемые поля>Поиск сопутствующих товаров товар выбирается.
    При сохранении и переходе в товар просто белый экран и не чего нет.
    Подскажите в чем проблема

      admin

      admin

      Что бы понять в каком файле проблема в Система > Общие настройки > Сервер в поле Сообщения об ошибках выберите Максимум.

    Яна

    Меняю в настройках размер фото сопутствующих, как у вас указано в статье, но размер фото не меняется. Подскажите, пожалуйста, как исправить?
    http://rosa-secret.ru/genskie-kupalniki/%D0%BA%D1%83%D0%BF%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA-%D0%B6%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B9-borneo-shop

      admin

      admin

      В файл стилей шаблона дополнительно добавьте

    Алексей

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

      admin

      admin

      Здравствуйте!

      Пришлите ссылку на страницу с сопутствующими товарами.

    Максим

    Здравствуйте. Подскажите пожалуйста как вывести название перед товаром. В сопутствующих категориях все понятно, а тут не смог найти что и где писать. Заранее спасибо.

      admin

      admin

      Здравствуйте!

      Вы сделали замену кода?

      на

      В замененном коде поменяйте порядок строк.

        Максим

        Не помогло.

          Максим

          Нашел файлик default_customfields.php с

          если удолить эту строчку, заголовоки в сопутствующих категориях и товарах убираются. Но мне нужно чтобы они остались, но вне блока с товаром. Подскажите пожалуйста куда эту строчку правильно вставить или дописать.

            admin

            admin

            Пришлите ссылку на измененный файл \components\com_virtuemart\sublayouts\related.php

    Максим

    templates/ot_smarthouse/html/com_virtuemart/sublayouts/related.php
    Я это файлик перенс с
    \components\com_virtuemart\sublayouts\related.php

      admin

      admin

      Поменяйте местами

      и

    Валентин

    Здравствуйте. Подскажите как в карточку сопутствующих товаров добавить настраиваемые поля, такие как в обычной карточке товаров в позиции "addtocart". Т.е. чтобы эти две карточки были полностью идентичными. Получилось все кроме добавления настраиваемых полей. Простая вставка кода как в обычной карточке

    не помогает.

      Валентин

      Немного не тот код выше:

      но суть та же

        admin

        admin

        Здравствуйте!
        Добавил в конец статьи код для вывода кнопку Купить у похожих товаров.
        Странно, но для настраиваемых полей данный код не подходит

        Если найдете решение, пожалуйста, поделитесь.

          Антон

          Добрый вечер! А не подскажите если я хочу вывести сопутствующие товары во внешний модуль в шаблоне? Тоесть за пределы карточки товара? Возможно ли?

          Не помогает)

            admin

            admin

            Здравствуйте!
            Вывести сопутствующие товары в отдельном модуле не получится.
            Пришлите скрин того, что должно получится в итоге. Думаю, что можно будет добиться примерно такого же эффекта с помощью css.

    Антон

    http://prntscr.com/c98qnv
    Вот сюда, там позиция sidebar-2, может даже перед модулем лучше товары

      admin

      admin

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

    Кирилл

    Здравствуйте, столкнулся с такой проблемой, сопутствующие товары выводятся не в строку, а в столбец по 2 штуки, подскажите, как это исправить.

      admin

      admin

      Здравствуйте!

      Пришлите ссылку на страницу с похожими товарами.

    annyka

    У меня в шаблоне в принципе все нормально выводится. НО, когда в списке выбираешь дочерний товар - стили вывода сопутствующих товаров как будто слетают... или я не знаю, что это. Но картинки становятся огромными, появляются маркеры. И главно, стоит обновить, как все это принимает нормальный вид... Что это может быть?
    http://ik2.camsi.ru/

      admin

      admin

      Попробуйте отключить опцию Use ajax for product content в Virtuemart > Настройки > Шаблоны

        annyka

        Отключила, но теперь у меня не работают дочерние товары. Выбираю, а переход на дочерний товар не происходит.

          admin

          admin

          Пришлите ссылку на страницу с дочерними товарами.

            annyka

            А они там почти все с дочерними. Мультиварианты настроены. Вот, например, http://ik2.camsi.ru/black-ik/caviar-selected-detail.html Попробуйте выбрать вариант.

            admin

            admin

            Активируйте в настройках опции:
            Использовать скрипты для товаров
            Использовать скрипт ajax Страны / Регионы

    annyka

    У меня другой файл их выводит

      admin

      admin

      Удалил код, так как дело не в нем.

    annyka

    А они активированы

      admin

      admin

      Странно...
      Попробуйте для теста сменить шаблон и протестировать работу. Если все будет работать, значит дело в шаблоне.

      annyka

      В стандартном шаблоне почему-то поля у меня даже с аяксом не работают

        admin

        admin

        Интересно...
        Для вывода дочерних товаров используется стандартный плагин?
        Вывод делали с использованием этой инструкции?
        http://wedal.ru/rasshireniya-joomla/virtuemart-2-internet-magazin-na-joomla-chast-8-dochernie-tovary-s-kontrolem-ostatkov-stockable-variants-plugin.html

          annyka

          У меня V3, обычными настраиваемыми полями реализовано.
          Тип поля: Multi Variant
          Я включила сейчас опять аякс - так выбор вариантов работает, но опять слетают стили.

            admin

            admin

            У Вас используется какой-то скрипт, который дополнительно форматирует рекомендуемые товары, который срабатывает при полной загрузке странице. При ajax обновлении он не отрабатывает и стили слетают.
            Они выводятся в стандартном модуле?

    annyka

    Я скрип кидала в начале, может, это он и есть? Который прямо на странице.

    // Check to ensure this file is included in Joomla!
    defined ( '_JEXEC' ) or die ( 'Restricted access' );
    ?>
    product->customfieldsSorted['related_products'])){ ?>
    addScript('templates/' .JFactory::getApplication()->getTemplate(). '/assets/js/jquery.flexisel.js');
    $doc->addStyleSheet('templates/'.JFactory::getApplication()->getTemplate().'/assets/css/flexisel.css');
    $js = 'jQuery.noConflict();
    jQuery(document).ready(function($) {
    $("#related_products_flexisel").flexisel({
    direction: "'. $doc->getDirection() . '",
    visibleItems: 5,
    clone:false,
    responsiveBreakpoints: {
    portrait: {
    changePoint:480,
    visibleItems: 1
    },
    landscape: {
    changePoint:640,
    visibleItems: 2
    },
    mobile: {
    changePoint:768,
    visibleItems: 3
    },
    tablet: {
    changePoint:992,
    visibleItems: 3
    },
    desktop: {
    changePoint:1199,
    visibleItems: 4
    }
    }
    });
    $(".nbs-flexisel-nav-left").html("'.($doc->getDirection()=='ltr' ? ' ' . JText::_('JPREVIOUS') : JText::_('JNEXT') . ' ') . '");
    $(".nbs-flexisel-nav-right").html("' . ($doc->getDirection()=='ltr' ? JText::_('JNEXT') . ' ' : ' ' . JText::_('JPREVIOUS')).'");
    });';
    $doc->addScriptDeclaration($js);
    ?>

    product->customfieldsSorted['related_products'] as $field) {
    /* if(!empty($field->display)) { ?>
    <div class="product-field product-field-type-field_type ?>">
    display ?>

    customfield_value;
    $product = $product_model->getProduct($field->customfield_value);
    $product_model->addImages($product,1);
    // var_dump($product);
    $ItemidStr = '';
    $Itemid = shopFunctionsF::getLastVisitedItemId();
    if(!empty($Itemid)){
    $ItemidStr = '&Itemid='.$Itemid;
    }
    if (!class_exists('CurrencyDisplay')) {
    require(VMPATH_ADMIN . DS . 'helpers' . DS . 'currencydisplay.php');
    }
    $currency = CurrencyDisplay::getInstance( );
    ?>

    images[0]->file_url){ ?>
    <div class="product-image" style="background-image: url( 'images[0]->file_url; ?>' );">link.$ItemidStr, ''); ?>

    prices['salesPrice'])) { ?>

    createPriceDiv ('salesPrice', '', $product->prices); ?>

    link.$ItemidStr, $product->product_name); ?>

      admin

      admin

      Скорее всего да, дело в нем.
      Судя по скрипту он настраивает только адаптивность. Это можно легко сделать с помощью css и медиа запросов.

    Марина

    Добрый день!
    При добавлении сопутствующих товаров в карточке товара всплывает подсказка только 10 позиций, которые вводились на сайт раньше всех. То есть не предлагает товары, которые вводились после 10ти этих первых. Возможно как-то сделать, что бы всплывала подсказка сопутствующих товаров, которые добавлялись последними на сайт?

      admin

      admin

      Здравствуйте!

      Вы имеете ввиду добавление сопутствующих товаров в админ панели? Если да, то просто начните вводить название нужного товара и virtuemart его покажет.

        Марина

        Дело в том, что у меня много одноименных товаров. Часто их больше 10ти, и даже больше 20ти. Не хочу удалять с сайта первые товары, которые продались, так как они прошли индексацию и уже имеют какой-то вес в сети. Поэтому они накапливаются. И чем дальше, тем их будет больше.
        Более конкретно: Сайт по продаже моторезины бу, то есть каждая покрышка индивидуальна и имеет одинаковое наименование.
        Например, модель Michelin pilot road имеет много размеров, а так же несколько вариаций названий: Michelin pilot road, Michelin pilot road 2, Michelin pilot road 2ct, Michelin pilot road 3, Michelin pilot road 4, Michelin pilot road 4gt, Michelin pilot road 4st. Каждая модель имеет более 10 вариаций размерностей. Так же каждая покрышка индивидуальна. Это штучный товар.
        Мне нужно при выкладке определенной покрышки, допустим на заднюю ось Michelin pilot road, вставить сопутствующим товаром покрышку на переднюю ось. При написании в админке Michelin pilot road мне предлагает и Michelin pilot road 2 и Michelin pilot road 2ct, и Michelin pilot road 4 и т.д. Но это все разные модели. Мне нужно только Michelin pilot road и только те, что добавлялись последними на сайт, так как большинство занесенных на сайт ранее давно проданы. Но всплывают только первые варианты, что мне совсем не подходит. Их уже и нет в наличии и к тому же предлагает варианты не подходящие по наименованию моделей.
        Поэтому прошу помощи как сделать так, что бы поиск сопутствующих товаров показывал в первую очередь последние добавленные товары по данной модели, а не первые.

          Марина

          Поиск выдает только 10 позиций.

          admin

          admin

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

    Ринат

    Ребят подскажите, в модули сопутствующие товары не показывает цену товара?!
    Из дефолтного файла related.php

    VirtueMart 3.0.18
    Joomla! 3.6.5

    Спасибо

    Данная строчка в коде присутствует

      Ринат

      Чтобы отображалась цена, заходим в "настройки / формирование цен" и ставим галочку отображение окончательной цены.

    Елена

    Столкнулась с такой проблемой. В настраиваемых полях есть сопутствующие товары. Но в карточке товара в админке не выводит всплывающего списка с товарами, при их поиске по первым буквам. С чем может быть связано? Облазила кучу форумов, не нашла такого. Пробовала и с анг. названием товаров и с русс.

      admin

      admin

      Попробуйте обновить virtuemart и joomla.

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

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

*
Для вставки кода заключите его в теги [php] [/php]
*