Настройка категорий товара в virtuemart 3

Опубликовано: 7 Апрель, 2016
Обновлено: 30 Ноябрь, 2016
Категория: Настройка VirtueMart
Комментариев: 70

В этой статья я постараюсь коснуться всех вопросов, которых могут возникнуть при работе с категориями товаров в virtuemart.

Создание категорий

Список всех категорий магазина находится в Virtuemart > Товары > Категории

list-category

Для создания новой категории нажимаем кнопку Создать.

new-category

 

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

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

Пункты меню для категорий

Желательно для каждой категории создать пункт меню с типом Virtuemart Категория.

menu-category

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

menu-punct-category

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

Настройка сопутствующих категорий

По данному вопросу на блоге есть отдельная статья.

Показ дочерних категорий

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

sub-category

Настройка внешнего вида категорий

В virtuemart 3 категории на главной странице магазина (опция Показать категории в Virtuemart > Настройки > Шаблоны) и дочерние категории на витрине магазина выводятся с помощью одного файла /components/com_virtuemart/sublayouts/categories.php

Чтобы изменения в этом файле сохранились при обновлении нужно скопировать его в папку /templates/имя_шаблона/html/com_virtuemart/sublayouts/. Если по этому адресу файл уже есть, то нужно править его.

Здесь можно скачать измененный код для этого файла, который добавит поддержку сетки bootstrap для списка категорий. Задать количество категорий в строке по умолчанию можно в Virtuemart > Шаблоны > Категорий в строке

quantity-category

Изменение длины описания категории

Для увеличения длины описания в базе данных в таблице _virtuemart_categories_ru_ru нужно изменить тип для category_description на TEXT и указать длину значения на 65 000

sql

Вывод ссылок на категории товара

Чтобы в карточке товара показать ссылки на все категории, в которые входит данный товар можно использовать этот код

Показ описания категории только на первой странице

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

на

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

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

на

По мере поступления вопросов статья будет дополняться.

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

    Сергей

    Спасибо за статью. Ждал появления, а то в рунете новостные сайты по vm молчат уже давно.

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

      admin

      admin

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

    Андрей

    Спасибо за статью. Вопрос. Есть у меня несколько продавцов. У каждого свои категории и есть одна общая категория. Так сказать барахолка. Так вот. Когда в правах разрешаешь редактировать продавцу категории, то он видит только свои созданные категории. А как сделать, чтобы он еще видел и общую для всех категорию "барахолка"?

    Sergey

    Спасибо за статью, а не подскажите как выводить описание категории, только на первой странице навигации, а на последующих - не показывать.

      admin

      admin

      Замените код вывода описания категории

      этим кодом

    Линда

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

      admin

      admin

      Здравствуйте!
      У Вас измененный шаблон, поэтому картинки без ссылок.
      В файле /templates/имя_шаблона/html/com_virtuemart/sublayouts/categories.php нужно дополнительно обернуть вывод картинки в ссылку по аналогии с названием товара.
      Если не получится, то пришлите ссылку на скачивание данного файла.

    Александр

    Добрый день! Спасибо за статью! Но , к сожалению, не нашел в ней ответа на проблему, с которой столкнулся. Суть такова:
    Есть категория с подкатегориями, содержащие товары.
    При выводе родительской категории не выводится описание этой самой категории при значении "Страница просмотра категории - categories" при чем названия и изображения подкатегорий выводятся. При значении "Страница просмотра категории - default" описание родительской категории выводится, но уже не выводятся названия и изображения подкатегорий, а вместо них выводятся сразу все товары, которые содержатся в этих подкатегориях.
    Собственно вопрос в следующем, как сделать так, чтобы при первом варианте вывода добавилось еще описание родительской категории?

      admin

      admin

      Описание категории выводится только если в ней есть товары. Попробуйте переместить в файле /components/com_virtuemart/views/category/tmpl/default.php (возможно данный шаблон переопределен в папке /templates/имя_шаблона/html/com_virtuemart/category/) код в самый конец

    Александр

    Здравствуйте! Спасибо за статью! Но к сожалению у меня не получается вывести описание только на первой странице навигации. VM 3.0.10 при замене кода на

    Описание не выводится.
    Joomla 3.6.0 , включен SEF , ЧПУ - все штатное
    первая страница навигации выводится по адресу http://sait.ru/elektromobili.html

      admin

      admin

      Здравствуйте!
      Пришлите ссылку на отредактированный файл.

        Александр

        Добрый день! Ссылка на файл https://yadi.sk/d/dov0BysuuQhyf

          admin

          admin

          Попробуйте заменить

          на

            Александр

            Работает! Огромное спасибо!

    Konstantin99

    Добрый день.

    У каждой категории есть поле "описание" и оно обычно находится наверху страницы категории. В него удобно помещать всякие баннеры или небольшие тексты, на пару строчек.
    Какие могут быть решения, что бы поместить второй текст (для seo) к конкретной категории, где нибудь внизу страницы ?

      admin

      admin

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

      Вот отличное решение.

        george007ua

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

          george007ua

          Нашел временное решение (для меня), но другим оно может быть полезным.
          Можно выставить нужное колдичество знаков оипасния категории на главной странице Virtuemart
          Редактируем файл templates/ваш_шаблон/html/com_virtuemart/sublayouts/categories.php

          и в нужное Вам место вставляем следующий код

          В моме случае был этот блок, там что-то другое было прописано, но сути это не меняет. Цифра 200 означает количество символов в кратком описании категории.(В моем случае 0, хотя... если грамотно распределить запросы, то в сочетаниии с предыдущим решением можно сео организовать неплохо)

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

            admin

            admin

            Спасибо, что поделились.
            Также для управления отображением контента на разных страницах может быть полезна эта статья.

    Евгений

    Здравствуйте!
    Подскажите пожалуйста, как вывести название товара в категории над изображением товара, а под изображением вывести цену.
    спасибо!
    VirtueMart 3.0.16

    Евгений

    Всё, разобрался.
    нашёл ответ в вашем комментарии к другой статье.
    Спасибо!

      Кирилл

      в какой статье? ссылку киньте

        Евгений

        Приведу сам комментарий из ветки комментариев в той статье, а то там много комментариев, устаните искать).
        "ADMIN
        Февраль 25, 2015 at 22:36
        Здравствуйте!
        В virtuemart 3 нужно править \components\com_virtuemart\sublayouts\products."

        Собственно сама статья
        http://virtuemart.su/nastraivaem-stranicu-kategorij-vitrinu-tovarov-v-virtuemart-2/#comments

    Иван

    Здравствуйте. В статье вы описали способ Вывода ссылок на категории товара в карточке товара. А как вывести ссылки на категории для каждого товара на странице вывода категорий?
    Спасибо!

    И если можно, подскажите:
    Как можно выставить ограничение.
    К примеру есть категория. В ней лежит 5 товаров. Каждый товар состоит в 6 категориях. Как вывести на странице категории эти 5 товаров со ссылками на 3 первых категорий в которых состоит товар

      admin

      admin

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

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

      для вывода первых 3 категорий используйте код

      вставлять код нужно в файл /components/com_virtuemart/sublayouts/products.php, либо в переопределенный файл в папке шаблона /templates/t3_bs3_blank/html/com_virtuemart/sublayouts/products.php

        Иван

        Большое спасибо за Ваш ответ. Вывод категорий отлично работает. Единственное нужно вынести rel="nofollow" за ">" так как нарушается синтаксис.
        Так как мне он не нужен я его удалил вовсе.
        Правил html/com_virtuemart/category так как мне нужен вывод категорий для продуктов на странице категории с товарами.

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

        Этих ссылок не видно, но если заглянуть в код, то они есть, что не очень хорошо, особенно если задать стили с бэкграундом (на подобии меток). Можно ли заставить код работать корректно и не выводить лищние ссылки если у товара [i]<3 ?
        попытался прикрутить count и break но с моими знаниями ничего у меня не вышло.
        Большое спасибо за помощь!

          admin

          admin

          Попробуйте этот код

            Иван

            Все супер! Спасибо огромное!

    Артём

    Всем доброго времени суток. Подскажите, пожалуйста, как можно реализовать дерево категорий, на подобии того, как делают на новостных сайтах? Вот как здесь http://www.limontour.com/poleznaya-informacziya/4725-muzhskaya-obuv-poisk-rasprodazh-s-pomoshhyu-servisa-allprices.html
    Там в верху.

      admin

      admin

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

    Иван

    Здравствуйте. Решил использовать Virtuemart3 для реализации каталога (на подобии фотогалереи). Все практически сделал (в т.ч. и с вашей помощью ), все оформил, нашел даже отличное решение массового изменения разных характеристик товаров (могу поделиться если кому нужно)...Но был обнаружен досадный баг, который я не нашел как ликвидировать и который перечеркивает все труды. Это постраничная навигация с которой невозможно жить 🙂
    Если листать категорию, затем войти в карточку товара (даже в новой вкладке) или перейти на главную, а после вернуться вновь к просмотру категории товаров, то видим, что в списке отображается та страница на которой мы закончили просмотр перед переходом на другую страницу. При этом урл соответствует главной, а не текущей. При попытке пролистать далее не всегда это получается с первого раза - страница остается та же, а вот урл уже генерится верный, затем мы далее листаем в нормальном режиме! Если человек зашел на сайт и там в категории 100-200 товаров, после просмотра 2-3 товаров он просто закроет сайт, потому как придется постоянно бороться с этим глюком (обновляя страницу и т.д). Все что я нашел в решении данной проблемы - это пагинация аякс, которое в принципе как бы выключает пагинацию....но такое решение мне не подходит. Сколько шаблонов пересмотрел и платных и бесплатных везде данный косяк. При том в демо версии как правило1-2 страницы пагинации, потому как если добавить больше то косяк становится более явным и заметным. Возможно Вы сталкивались с такой проблемой и в курсе как сделать так чтобы пагинация работала по человечески, хотя бы как в самой joomla ? (ну я точно знаю что сталкивались 🙂 не столкнуться с ней нереально просто). Ни официальном форуме и на других не нащел ничегошечки! Поюзал рабочие сайты с виртуемарт3, которые якобы оптимизированные ...везде этот косяк! Если 10 товаров в категории, согласен, пролем нет 🙂 Спасибо за помощь

      admin

      admin

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

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

      Как вариант быстрого решения можно добавить всем ссылкам на товары атрибут target="_blank", чтобы они открывались на новой вкладке браузера.

        Иван

        Да, я тоже так думал и закрыл глаза 🙂 но проблема возникает и тогда когда вы заходите в карточку товара. Я тоже так думал сделать _blank как вы говорите, но на практике оказалось независимо от того, открывается товар в новой вкладке или в той же, пагинация ведет себя все равно неадекватно - проверено!

        Привожу наглядный пример:
        Пример 1. (8 товаров на стр.)
        Переходим на страницу 4
        site.com/category-1?start=24
        открываем карточку товара в новой вкладке или в той же (не влияет на резульатат)
        site.com/product-25
        Возвращаемся в список категорий
        Пытаемся перейти на страницу 5
        урл: site.com/category-1?start=32
        подсвечивается страница 1 - контент с первой страницы
        Жмем еще раз на страницу 5 - со второго раза все корреткно

        Еще приятный бонус!
        Если человек пользовался кнопкой вперед и не смотрел на страницы? (что в принципе логично для среднестатистического юзверя)
        Он листает все заново после каждого просмотра товара и ясное дело этого он делать не будет 🙂

        На офиц. форуме есть вопросы на эту тему, но только вопросы!... ответов нет к сожалению. И если честно непонятно становится...либо способ устранения проблемы - это секрет, или просто никто не делает более менее серьезных магазинов на виртумарте 🙂 Но в моем случае это даже не магазин, и вот столкнулся с проблемой не искоренив которую сайт вообще сайтом называться не может.
        как то печально... 🙂 неужели придется возвращаться к К2...

        Иван

        И кстати! Самое примечательное! Если вы открываете товары с первой и со второй страницы все ок!
        А если начиная с третье то происходит то что я написал 🙂
        Практически во всех демках шаблонов максимум две страницы 🙂
        Но я думаю проблема с переходом на главную и обратно, а также та проблема что я описал выше...это одна и та же проблема...

          admin

          admin

          Попробуйте отключить SEF в настройках joomla и потестировать.
          Может быть проблема возникает из-за ЧПУ ссылок.

            Иван

            Ну а как же без SEF ? 🙁

            admin

            admin

            SEF нужен, просто если без него все будет работать правильно, значит дело в роутере.

    Иван

    да работает 🙂 но теперь на главную не переходит и категории 😭 :)))

      Иван

      и из карточки товара тоже 😭 . фууухххххх 😭

        admin

        admin

        Что со всем этим делать трудно сказать. Будем надеяться, что в новых версиях vm эту проблему решат.

    Сергей

    Подскажите, пож-та, как сделать чтобы картинки категорий тоже были ссылками?
    Прочитал Ваш ответ Линде про оборачивание, ничего не понял.. А можно с кодом?
    Virtuemart3.

      admin

      admin

      Нужно править файл /components/com_virtuemart/sublayouts/categories.php (если есть, то файл /templates/имя_шаблона/html/com_virtuemart/sublayouts/). Оберните код вывода картинки в ссылку

      Если не получится, то пришлите файл.

        Сергей

        Спасибо, разобрался :))

          admin

          admin

          Отлично)

    Сергей

    Приветствую всех!
    Подскажите пожалуйста, как сделать ссылку на сторонний ресурс (на другой сайт) для категории? Чтобы при нажатии на категорию, пользователь попадал не в категорию а на другой сайт?

      admin

      admin

      Если для категорий не используется описание, то можно в поле с описанием указать ссылку на сторонний сайт (обязательно с http/https) и в /components/com_virtuemart/sublayouts/categories.php заменить

      на

    Александр

    Добрый день!
    Увидел необходимость на странице описания производителя выводить его товары вместо кнопки - "Показать все товары Brand"( /manufacturers/). Так реализовано в Joomshoping. Можно ли реализовать на VM 3.0.18. или при клике на "Показать все товары Brand" выводить описание с логотипом (товары уже там есть одного бренда) /manufacturer/

      admin

      admin

      Здравствуйте!
      Добавил код для решения этой задачи в статью по работе с производителями (раздел Вывод логотипа и описания производителя на странице всех товаров производителя).

    Михаил

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

      admin

      admin

      Здравствуйте!
      Чтобы описание категории выводилось на всех страницах кроме первой используйте этот код

    Михаил

    Возможно ли в категории добавить модуль от joomla или текст-материал? и как это сделать? спасибо!

      admin

      admin

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

      test - название позиции модуля.

    Максим

    Добрый день.
    У меня такая проблема:
    При создании категории нет возможности выбрать родительскую категорию, т.е. уже создана одна категория (верхний уровень). Но при создании второй в списке присутствует только "верхний уровень". Соответственно создать подкатегорию не получается. Вот ссылка на тестовую страницу http://xn---24-5cd3ct6a2f.xn--p1ai/index.php/stolovoe-bele/skatertnaya-tkan?productsublayout=0
    Joomla! 3.6.4
    VirtueMart 3.0.18.4

      admin

      admin

      Здравствуйте!
      Пришлите скрин из Virtuemart > Товары > Категории и скрин из настроек конкретной категории где нельзя выбрать родительскую.

      admin

      admin

      Судя по скриншоту из списка категорий в админке какая-то ошибка. Пришлите доступ к админке на admin@virtuemart.su, постараюсь помочь.

        Maks_T52

        отправил

    Андрей

    Добрый день. Подскажите пожалуйста. Как убрать перечень подкатегорий со страницы категории. Соответствующая галочка в Настройки > Шаблон снята. Страница просмотра категории "Не определять". Если устанавливаю значение "categories", то описание, товары и подкатегории пропадают. Значение дефолт вообще не сохраняется.

      admin

      admin

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

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

      Попробуйте его закомментировать.

    Галина

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

      admin

      admin

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

      Нужно править файл /components/com_virtuemart/sublayouts/categories.php (если есть, то файл /templates/имя_шаблона/html/com_virtuemart/sublayouts/categories.php). Удалите код

        Галина

        Спасибо!!! сработало.

          admin

          admin

          Отлично.

    Евгений

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

      admin

      admin

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

    Галина

    прям беда у меня с VirtueMart. сейчас на главной странице полный ужас и бардак, как это изменить ума не приложу. Хочу вывести на главную страницу как можно больше товаров. Всего 3 категории в одной из них 1 товар, в остальных побольше будет. хотелось бы в идеале, что бы на главной было хотя бы по 6 товаров из каждой категории, нужно уменьшить в размерах поле товара и сделать все более компактным, что бы в ряд было по 4 товара, кнопки "добавить в корзину" переименовать на "Купить" и уменьшить в размерах, изменить основной цвет кнопки на оранжевый. добавила внизу всех товаров на главной странице кнопку "все товары" хочу что бы она меняла размер автоматически в зависимости от экрана пользователя, я нашла только в настройках несколько предложенных цветов или сделать ее как ссылку, ни один из вариантов не нравится.

      admin

      admin

      Очень много вопросов в одном месте. Тяжело отвечать сразу по всему списку.
      Пожалуйста, разделите вопросы по сходным группам и задайте их на форуме в разделе virtuemart 3.

      IsaeffSerge

      IsaeffSerge

      Зайдите в Virtuemarte в Настройки - Шаблоны и в Настройки внешнего вида, напротив Категорий в строке и Товаров в строке выставьте нужные значения.
      По изменению стиля кнопок есть статьи на форуме.

    Владимир

    Приветствую, у нас 1с создает категории на сайте, но увы создается с ограничением в 10 позиций на странице, далее постраничная навигация по товарам.

    Подскажите пожалуйста, как можно на VirtueMart 3 увеличить для всего сайта "Исходное количество элементов в списке", чтобы количество товара на странице было более 10

      admin

      admin

      Посмотрите настройки в области Укажите последовательность разбиения на страницы для списка в Virtuemart > Настройки > Шаблоны

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

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

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