Вывод габаритов и веса в virtuemart 3

Опубликовано: 26 Декабрь, 2015
Обновлено: 18 Май, 2016
Категория: Настройка VirtueMart
Комментариев: 33

В этой статье рассмотрим вывод всех параметров, которые задаются в настройках товара во вкладке Габариты/Вес.

настройка габарита и веса

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

Возможно, со временем этот код включат в шаблон, а пока придется вносить правки самостоятельно.

Для карточки товара код нужно добавлять в файл /components/com_virtuemart/views/productdetails/tmpl/default.php либо в тот же файл с папке с шаблоном /templates/имя_шаблона/html/com_virtuemart/productdetails/default.php.

Вес товара

Длина

Ширина

Высота

Упаковка

Количество в упаковке

Данная информация выводится в карточке товара кодом

При необходимости можно перенести его в нужное место карточки товара.

В итоге в карточке товара получится следующее.

габариты и вес в карточке товара

Для замены единицы измерения веса на русские символы в файле /administrator/components/com_virtuemart/helpers/shopfunctions.php замените

на

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

на

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

33 комментария
    Vladislav

    Vladislav

    Хорошая статья, надо взять на заметку

    Александр

    А как можно то же самое проделать в списке товаров категории?

      admin

      admin

      Используйте тот же код, только замените в нем

      на

    kenni

    А как реализовать проверку на отсутствие размера. Например если размер не указан (то есть 0) его не выводить, а если отличается от нуля то вывести?

      admin

      admin

      Проверка уже есть.
      Если какие-то параметры не заданы, то они просто не выводятся.

    Юрий

    Добрый день!

    Посмотрите пожалуйста, нету ли у вас ошибки в коде "Количество в упаковке"

      admin

      admin

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

      После вставки кода из статьи перестает работать страница?
      Скорее всего из-за тегов php.
      Пришлите строку, после которой Вы хотите вставить Количество в упаковке.

    Максим

    А где поменять подпись "Длина товара" На просто "Длина". менял в ru-ru.com_virtuemart. Не изменяется подпись. остается по прежнему

      admin

      admin

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

      в файле /language/ru-RU/ru-RU.com_virtuemart.ini
      Очистите кеш браузера.
      Если не поможет, то, возможно, надпись задана непосредственно в шаблоне.

    Владислав

    А куда именно вставлять в файле?, в likeshop не сработал у меня способ, может не правильно код разместил.

      admin

      admin

      Размещать код нужно в файле /templates/t3_bs3_blank/html/com_virtuemart/productdetails/default.php, например, внутри блока

        Владислав

        То есть получается вот так?

        product->product_width){ ?>

        product->product_width, 0); // Ширина товара, 0 - количество знаков после запятой
        echo $this->product->product_lwh_uom; // Единица измерения ширины ?>

        product->product_length){ ?>

        product->product_length, 0); // Длина товара, 0 - количество знаков после запятой
        echo $this->product->product_lwh_uom; // Единица измерения длины ?>

        Просто добавил в конец файла и чё то не робит. Просто я только добавляю ширину и длину.

          admin

          admin

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

    Юрий

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

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

    Спасибо!

      admin

      admin

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

      С мультиязычностью почти не работал, поэтому подсказать не смогу.
      Разместите тему на форуме, думаю найдутся люди, которые смогут помочь.

    Николай

    А как вы вывели Артикул???

    foxxxof

    А можно ли изменить длину поля, например "Единиц товара в коробке" с15 до 2000 ?

    Олег

    Огромное спасибо людям создавшим этот ресурс, и тем, кто в нём делится своим опытом! Храни вас Бог!

    soundshot

    а где можно добавить параметры? продаю бу часы
    интересует замена или добавления новых параметров и дальнейший вывод их в карточке товара!
    например: Имеется упаковка
    Часы: мужские
    состояние: АА-АB-AC и так далее

      admin

      admin

      Помогут настраиваемые поля.

    Дина

    А у меня вот такой вопрос. Мне нужно, чтобы было две единицы измерения: в см и дюймах. В идеале - какой нибудь конвертер. То есть выбираешь см из выпадающего меню , и тебе длина в см. Выбираешь дюймы - держи в дюймах.

      admin

      admin

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

    User

    Добрый день.
    Отличная статья, добавил код (без php) в description.
    Возникло 2 вопроса:
    1. При значении 0 параметры все равно выводятся, можно ли исправить это?
    2. Изменил KG на кг в указанном файле, но значения не поменялись. Где могут еще храниться единицы измерения?

      admin

      admin

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

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

    Ruslan

    Здравствуйте! Спасибо за данную тему! Все работает! Только вот, вес округляется. Как сделать так, чтобы он указывался точно, например - Вес: 1.23 гр.

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

      admin

      admin

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

      По весу.
      В строке
      round($this->product->product_weight, 0)
      замените 0 на 2

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

    Сергей

    Добрый день.
    Немного офтоп. Подскажите, существует ли фильтр для VirtueMart, который бы тоже видел поля габаритов?

      admin

      admin

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

      Не встречал таких. Если найдете, пожалуйста, поделитесь.

    Valeriy

    Спасибо за вашу работу. Вставил код все работает. У меня вопрос как сделать, чтобы обозначения мм, см и т.д. были написаны маленькими буквами, а то не очень смотрится:
    Длина: 1550MM
    Ширина: 900MM
    Высота: 900MM

    Или вообще их удалить.

      admin

      admin

      Попробуйте в коде обернуть вывод единицы измерения в функцию mb_strtolower, которая приводит буквы строки к нижнему регистру.
      Т.е. вместо

      будет

    Алексей

    Здравствуйте, а как сделать в админ панели где строка вес, чтобы после запятой не выводились 4 нуля? Например если я ввожу вес 2, то после сохранения появляется 2.0000 а мне так не надо

      admin

      admin

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

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

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

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