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

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

Настраиваемые поля 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 нужного материала.

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

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

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

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

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

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

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

    Валерий

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

      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

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

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

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

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

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

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

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

×