Вывод характеристик и материала joomla в карточке товара virtuemart

Опубликовано: 21 июля, 2017
Обновлено: 5 февраля, 2023
Категория: Настройка VirtueMart

Настраиваемые поля virtuemart имеют ограничение на максимальное количество символов, которое в них можно сохранить. Например, у поля с типом редактор это 4 095 символов.

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

Есть два пути решения этой проблемы.

  1. Разместить характеристики в одном поле с описанием (у данного поля лимит 18 400 символов), вставив между ними разделитель.
  2. Вывести в карточке товара стандартный материал joomla. У материала лимит на количество символов гораздо выше.

Вставка характеристик внутри описания

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

После этого внесем правки в шаблон карточки товара /components/com_virtuemart/views/productdetails/tmpl/default.php (либо в переопределенный файл /templates/имя_шаблона/html/com_virtuemart/productdetails/default.php).

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

на

Для вывода заголовка вкладки (будет работать только если на сайте вкладки настроены по этой статье) с характеристиками добавим этот код

Для вывода контента характеристик добавим этот код

В результате описание и характеристики будут выводиться в разных вкладках.

Вставка материала joomla в карточку товара

Если предыдущий способ не сработал, то можно вывести в карточке товара стандартный материал joomla с практически любым количеством символов (в joomla для материала используется тип данных longtext). Здесь возможны несколько вариантов.

Вывод одного и того же материала во всех товара

Самый простой вариант. Для вывода материала в шаблон карточки товара добавьте этот код

Узнать id материала можно в админке в списке всех материалов.

Вывод разных материалов

Создадим новое настраиваемое поле с типом Строка и позицией вывода article, в котором будет указываться id материала для вывода.

Прикрепим поле к товару и укажем id нужного материала.

В шаблоне карточки товара добавим код

Ниже пример кода вывода материала в отдельной вкладке (будет работать только если на сайте вкладки настроены по этой статье).

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

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

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

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

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

    Валерий

    А через бд разве нельзя снять ограничения? Или это чем то грозит?
    Я например, частенько снимаю ограничения через бд, в описании товара или в описании категории.

      admin

      admin

      Через БД можно снять ограничения, но после обновления virtuemart все правки придется вносить заново.

    Aleksander

    Большое спасибо за статью. В прошлой теме очень помогли с добавлением табов. Теперь вот по этой статье можно удобно добавить вкладку с материалом. Супер.

      admin

      admin

      Рад, что статья оказалась полезной.

    Алексей

    Спасибо за статью! Вот только один вопрос - а можно как то метки (теги) статьи тоже вывести в карточке товара?

      admin

      admin

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

        Алексей

        Я если правильно понял так должен этот кусок выглядеть в целом?

          admin

          admin

          Примерно так.

    RRR

    Спасибо за статью, очень помогла!!

      admin

      admin

      Рад, что статья оказалась полезной.

    Vliv

    Здравствуйте!
    Вот такой вопрос. если делать вывод в карточке товара материал joomla, как сделать чтобы в заголовке выводилось не "Материал", а непосредственно заголовок самого материала?

      admin

      admin

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

      Можно отключить показ заголовка в настройках настраиваемого поля и стилизовать вывод заголовка материала.

        Vliv

        немного не правильно вопрос задал. Имеется ввиду чтобы в заголовке таба показывался заголовок материала, а не тот, что в коде прописан (в данном случае "Материал"). Это для того чтобы при необходимости можно было бы добавлять несколько материалов.

          admin

          admin

          Нужно перенести код до кода вывода табов.

          Для каждого материала нужно использовать вместо $id уникальное имя для идентификатора статьи.
          В заголовке таба нужно прописать

          Если не получится, то смотреть нужно непосредственно на сайте. Для этого пришлите доступ к админке и ftp на admin@virtuemart.su

            Vliv

            Что-то никак(( Скинул доступы на почту.

    inst54ru

    inst54ru

    СПАСИБО!!

      admin

      admin

      Рад, что статья пригодилась в работе.

    ivengo

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

      admin

      admin

      Здравствуйте!
      Посмотрите в этой теме на форуме поддержки.

    Александр

    Я не понял про вставки кода в шаблон карточки товара. Куда конкретно вставлять???

    Александр

    Спасибо что ли не сказал? Так объясните дураку: куда ваш код вставлять - скажу! Почему нет указания на место вставки, хотя бы примерно? Мне надо материал вставить в карточку товара

    Александр

    Зачем писать статьи, чтобы потом удалять комментарии???? Допишите в текст место вставки кода и вас не будут доставать. Или ответьте по-человечески!!!! Алле, модератор!

      admin

      admin

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

        Александр

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

          Александр

          И у меня нет шаблона default.php

        Александр

        Все разрешилось! Только шаблон называется multiadd! Почему-то!!! Спасибо за помощь, но вы как-то в своем продукте лучше разбирайтесь что ли.

Комментарии закрыты

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×