Работа с производителями в virtuemart 3

Опубликовано: 29 Июнь, 2016
Обновлено: 25 Ноябрь, 2016
Категория: Настройка VirtueMart
Комментариев: 47

Эта статья отчасти будет повторять материал из статьи по работе с производителями в virtuemart 2. Это сделано умышленно, чтобы сосредоточить в одном месте все вопросы, которые могут возникнуть при работе с производителями в virtuemart 3.

Основное отличие этой статьи от предыдущей - код для вывода изображений производителей, который не будет затрагивать ядро virtuemart. Это позволит спокойно обновляться, не беспокоясь о том, что после обновления что-то не будет работать.

Добавление производителя

Добавить производителя в virtuemart очень просто. В Virtuemart > Производители > Производители нажимаем кнопку Создать

add-manufacturer

и заполняем всю информацию о производителе.

new-manufacturer

Во вкладке Изображение можно прикрепить логотип.

Virtuemart также позволяет сортировать производителей по категориям в Virtueamart > Производители > Категории производителей, но это актуально только для крупных магазинов и в нашей работе вряд ли пригодится.

Прикрепление производителя к товару

После того, как производитель создан и опубликован в настройках товара во вкладке Информация его можно прикрепить к товару.

product-manufacturer

Фильтрация по производителям на странице категории

По умолчанию virtuemart поддерживает фильтрацию товаров по производителям в каталоге. Для активации нужно включить опцию Показывать производителей в Virtuemart > Настройки >  Шаблоны

manufacturer-category

За вывод фильтрации отвечает код в файле /components/com_virtuemart/views/category/tmpl/default.php

Часто этот файл переопределен и находится по пути /templates/имя_шаблона/html/com_virtuemart/category/default.php

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

manufacturer-filter

Пункты меню для производителей

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

menu-manufacturer

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

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

mobul-manufacturer

Модуль прост в настройке. Шаблон вывода можно изменить в файле /modules/mod_virtuemart_manufacturer/tmpl/default.php.

В результате можно получить примерно следующее.

mobul-manufacturer2

Чтобы при клике переходить сразу ко всем товарам производителя в файле /modules/mod_virtuemart_manufacturer/tmpl/default.php заменим в 2-х местах

на

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

Ссылку в модуле нужно заменить на

Это должно помочь.

Слайдер производителей

На многих сайтах все производители выводятся в отдельном слайдере. Реализовать тоже самое на virtuemart можно с помощью модуля VM Manufacturer Slider.

Отображении информации о производители в карточке товара

В карточке товара информация о производителе выводится с помощью отдельного шаблона /components/com_virtuemart/views/productdetails/tmpl/default_manufacturer.php.

Данный шаблон подключается в файле /components/com_virtuemart/views/productdetails/tmpl/default.php с помощью кода

Кроме этого, в настройках Virtuemart > Настройки > Шаблоны должна быть активирована опция Показывать производителей.

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

link-manufacturer

При клике на ссылку показывается всплывающее окно  с подробной информацией о производителе.

popup-manufacturer

Изменить шаблон всплывающего окна можно в файле /components/com_virtuemart/views/manufacturer/tmpl/details.php

Добавим в карточку товара больше информации о производителе. Все правки будут вноситься в файл /components/com_virtuemart/views/productdetails/tmpl/default_manufacturer.php. Чтобы сохранить правки после обновления virtuemart скопируйте данный файл в папку /templates/имя_шаблона/html/com_virtuemart/productdetails/.

Переход сразу на страницу производителя

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

на

Переход сразу ко всем товарам производителя

Чтобы показать сразу все товары производителя в текущей категории заменим код

на

Добавить текст Производитель рядом с названием производителя

Для добавления поясняющего текста сразу после

вставим

Получится следующее

link-manufacturer2

Показ изображения производителя

Для вывода логотипа вместо названия заменим

на

Получится следующее

logo-manufacturer

Отображение информации о производителе в категории

Ниже несколько примеров кода для вывода названия и логотипа производителя на странице категории. Все правки будут вноситься в файл /components/com_virtuemart/sublayouts/products.php

Показ названия производителя

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

Ссылка на страницу производителя

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

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

Вряд ли этот код стоит использовать, потому что он дублирует функционал фильтрации по производителям.

Показ логотипа производителя

Для вывода логотипа используйте следующий код

В результате получится следующее

category-manufacturer

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

Чтобы вывести на странице всех товаров производителя его описание и логотип (по аналогии с описанием категории) добавьте в файл /components/com_virtuemart/views/category/tmpl/default.php этот код

 

Настройка страницы производителя

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

page-manufacturer

Изменить данный шаблон можно в файле /components/com_virtuemart/views/manufacturer/tmpl/details.php.

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

По каким-то причинам в virtuemart нельзя задать мета-теги для страницы производителя. Для решения проблемы можно использовать этот плагин.

Также можно отредактировать файл/components/com_virtuemart/views/manufacturer/view.html.php, но в этом случае после каждого обновления virtuemart правки придется вносить заново.

За вывод мета-тега title отвечает код

Для вывода мета-тега description используйте следующий код. Текст для мета-тега будет браться из описания производителя.

 

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

    Slava

    Добрый вечер!
    Не совсем понял, как сделать вывод логотипа производителя в категории?
    Вставил код в указанный файл, но изображения логотипов не появились(
    Шаблон: MobilLife
    Ссылка на сайт: akva-market24.ru

      admin

      admin

      Здравствуйте!
      Пожалуйста, задайте этот вопрос на форуме поддержки покупателей.
      Там обязательно отвечу.

    Time

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

      admin

      admin

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

      Попробуйте способ из этой статьи.

    Николай

    А как сделать чтобы в Пункте меню производителя загружалась ни карточка производителя а его товары

      admin

      admin

      Единственный вариант, который приходит в голову - создать категорию с названием производителя и выводить пункт меню не с типом Virtuemart Производитель, а с Virtuemart Категория.

    romanov

    Админ вся надежда на тебя)
    Установил плагин EFSEO - Easy Frontend SEO, включил его. Но у меня (как на обучающем видео на сайте EFSEO) не появились галочки для редактирования мета данных.

    Уже и кэш чистил и пробовал всякое, но ничего у меня не вышло. Может кто-то сталкивался с таким?

      romanov

      Отбой. Решилась проблема путём закрытия сайта (в настройках сайт выключен) и входом на сайт под логином.

      romanov

      Хотя проблема осталась. Вот например страница http://van-na.ru/migliore
      На данный момент я поставил там заголовок "Migliore - итальянская сантехника в классическом ретро стиле", но если зайти на сайт например через анонимайзер cameleo.ru, то этаже страница будет со старым стандартным заголовком "Подробные данные производителя Migliore".

      Кто работал с данным плагином. В чём может быть причина?

      romanov

      Решена проблема с помощью плагина Tag Meta. С EFSEO разобраться не получилось. Видел на форумах, что такая проблема встречается.

        admin

        admin

        Спасибо, что поделились решением.

    chitaets

    Добрый день!

    Цитата:
    Добавим в карточку товара больше информации о производителе. Все правки будут вноситься в файл /components/com_virtuemart/views/productdetails/tmpl/default_manufacturer.php. Чтобы сохранить правки после обновления virtuemart скопируйте данный файл в папку /templates/имя_шаблона/html/com_virtuemart/productdetails/.

    Переход сразу на страницу производителя

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

    Конец цитаты.

    В какой файл нужно добавить эти изменения?

      admin

      admin

      В файл /components/com_virtuemart/views/productdetails/tmpl/default_manufacturer.php если изменения касаются показа информации о производителе в карточке товара.

    big

    Здравствуйте.
    Многоязычный сайт. Изображение производителя для каждого языка своё - это не предусмотрено или это у меня не получается.
    Выбор языка и изображение в разделе добавления изображений остаётся неизменным при смене языка для описания производителя.
    Спасибо

      admin

      admin

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

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

        big

        Спасибо за участие.
        В прежних версиях Virtue Mart в карточке товара, ссылка на производителя была перед пояснением "все товары производителя".
        Подскажите как её вернуть.

          admin

          admin

          Уточните вопрос. Пришлите скрин что и куда нужно переместить.

    big

    Спасибо за участие.
    https://yadi.sk/i/FjXOOiYR33RTKu
    В новых версиях Virtue Mart, убрали пояснительную надпись Производители. Оставили лишь название.
    Хотелось бы вернуть её.

      admin

      admin

      Т.е. нужно в карточке товара перед названием производителя добавить надпись Производитель?

        big

        Да.

          admin

          admin

          В virtuemart 3 эта надпись выводится в файле /com_virtuemart/views/productdetails/tmpl/default_manufacturer.php, либо в переопределенном файле в папке шаблона /templates/имя_шаблона/html/com_virtuemart/productdetails/default_manufacturer.php. Попробуйте сразу после открывающего тега

          добавить

    big

    Большое Спасибо.
    Если Вы не знаете Я Вам скажу - Ваш ресурс про Virtue Mart Лучший.
    И не только, потому что Вы помогаете, Ваши статьи написаны понятным и доступным языком.

      admin

      admin

      Спасибо.

    Сергей

    Добрый день
    Подскажите пожалуйста
    Пытаюсь вывести описания производителя на странице всех товаров производителя. Добавляю код

    в этот файл
    /components/com_virtuemart/views/category/tmpl/default.php
    Но ничего не выводит
    Подскажите что я неправильно делаю?
    Версия virtuemart 3.0.18

    Сергей

    Разобрался сам

      admin

      admin

      Пожалуйста, поделитесь в чем была проблема?

      george007ua

      Тоже очень интересно, думаю многие будут благодарны правильному решению

    george007ua

    Здравствуйте, есть проблемка, можно сказать критическая. При выводе всех товаров производителя сначала выводятся все категории товаров (а их 20штук), а внизу товары производителя. как бороться? создал меню для производителей, не помогло. Вывод страницы не изменился, только ссылка стала более корявой. Без меню: http://localhost/rus/magazin/manufacturer/4m , с меню: http://localhost/rus/4m/manufacturer/4m . Как вариант найти бы модуль, который выводил бы товары производителя и на страницах товаров производителя вставить его в одну из топовых позиций. Тоже не очень хорошо, так как товары на страницах будут дублироваться, но все же лучше чем товары где-то внизу страницы. Если есть решение, подскажите пожалуйста.

      admin

      admin

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

      За вывод дочерних категорий отвечает код в файле /components/com_virtuemart/views/category/tmpl/default.php

      замените его на

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

        george007ua

        Здравствуйте. Огромное спасибо! Как всегда помогло, все стало в лучшем виде! С праздником!

          george007ua

          Кстати, работает все ровно независимо от того есть меню для производителей или нету!

            admin

            admin

            Отлично.

    Георгий

    Здравствуйте!
    Вопрос по мета-тегам.
    В файле: /components/com_virtuemart/views/manufacturer/view.html.php
    Разместил код:

    Но теги так и не отобразились, подскажите куда капать?

      admin

      admin

      Здравствуйте!
      Попробуйте перед этим кодом добавить

    kgg1987

    Не вышло, но возможно проблема иная. Рассажу все подробности.

    Создан пункт меню /brands со списком всех производителей.
    При переходе на конкретного производителя получаем страницу со всеми товарами данного производителя и его описанием (все сделано по выше упомянутым хакам, кстати, за это отдельное спасибо).
    Изначально ссылка на производителя имела вид: /brands/manufacturerS/brand1
    НО каноническая ей ссылка была: /katalog/manufacturer/brand1 где "katalog" это страница всех категорий (букву "S" выделил не зря, многие в курсе, что с этим тоже засада, надеюсь и зам не запутался:) ).
    Времени возится и разбираться с этим не было, поэтому был сделан простой редирект с /brands/manufacturerS/ на /katalog/manufacturer чтобы избежать дублей.
    Если глянуть мета ссылки любого производителя, например /brands/manufacturer/brand1 то она имеет данные мета "brands", а производитель /katalog/manufacturer/brand1 имеет мета - "katalog".
    После вставки кода:

    Ничего не происходит. Редирект отключал и кеш чистил.

    Сразу задам ещё один попутный вопрос.
    Можно ли сделать отображение бренда по ссылке: brands/brand1
    Если создать отдельный пункт меню для бренда то при переходе получаем страницу с описанием бренда и кнопкой "показать все товары", а при переходе по этой ссылки url будет: brands/brand1/manufacturer/brand1
    Согласитесь, не очень красиво 🙂

    pasha526

    А как решили проблему в первом Коментарии?
    у меня такая-же история, только шаблон свой

    Alex

    Зашла сказать спасибо. Частенько у Вас решения нахожу.

      admin

      admin

      Что, что сайт помогает в работе )

        Alex

        Помогает. И вопросы актуальные, и объяснения толковые, добавила в избранное, на форум сходила, видела пару интересных решений.
        В общем, удачи Вам и процветания!
        Конкретно в этой статье мне не очень нравится решение со ссылкой на все товары производителя из категории, есть проблема, если несколько производителей добавлять (у меня была задумка перекроить производителей под теги. "торты на годик" "свадебный до 4х килограмм", ну понятно, да?) В итоге, отказалась от этой идеи, проще плагин тегов наверное допилить под товары. Но решения у Вас часто подглядываю. Очень хорошее дело делаете.

        ПыСы. В гугле в Вас отличные позиции по запросам с виртуемарт 3

          admin

          admin

          Решение с тегами тоже хороший вариант под Вашу задачу.

    Владимир

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

    Также вопрос про Description, код:
    $document->setDescription(strip_tags($manufacturer->mf_desc));

    Можно обрезать количество символов ? А то весь контент из 3тыс символов выводиться... А еще лучше, есть ли возможность свой прописать ?

      admin

      admin

      Попробуйте прописать все мета-теги в настройках производителя.

        Владимир

        Дело в том, что нет полей для редактирования Title, descriptions и тд...

        Это все генерируется само средствами VirtueMart 3, хотелось бы иметь возможность, как при создании обычной записи в Joomla, указать свои мета теги

          admin

          admin

          В Virtuemart > Производители > Производители в настройках производителя нет области для заполнения мета-тегов?

          Попробуйте для каждого производителя создать пункт меню и прописать в его настройках мета-теги.

            Владимир

            К сожалению нет таких пунктов, только:
            Название производителя, псевдоним, email, url и описание...

            Не знаю, как тут картинку подключить, показал бы скрин.

            Попробовал, как вы сказали через пункт меню, не совсем то. Это работает не для самого производителя, а для "Показать все товары Производителя".

            Есть решение для VirtueMart 2 http://beagler.ru/virtuemart2/dobavlenie-polya-title-dlya-proizvoditelya-virtuemart2.html

            Проходит по всем пунктам статьи, за исключением запроса в базу данных, при запросу получаем ошибку, Ответ MySQL:
            #1064
            - У вас ошибка в запросе. Изучите документацию по используемой версии
            MySQL на предмет корректного синтаксиса около '' на строке 1

            Сам запрос делаем следующий:
            ALTER TABLE
            wtok6_virtuemart_manufacturers_ru_ru ADD customtitle CHAR(255)
            CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT

            Встали на месте уже 3-ий день не найдем решения.

            Владимир

            Прошу прощения, забыл за php теги, запрос:

            admin

            admin

            Нужно смотреть на сайт.
            Пришлите доступ к админке и ссылку на вопрос на admin@virtuemart.su, попробую помочь.

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

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

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