Тип характеристик товара Есть решение

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

Вопрос: Как мне установить по умолчанию вывод "Г" граммов? а так же не "Л" литры а "МЛ"

Спасибо

5 ответов

  • 1
    Михаил Ушенин Webasyst 5 февраля 2015 02:10 #

    Скопируйте файл wa-apps/shop/lib/config/data/dimension.php в wa-config/apps/shop/dimension.php и в созданной копии поменяйте местами элементы соответствующих массивов, как вам нужно.

    • +1
      VictorGT VictorGT 17 февраля 2015 04:20 #

      Сделал, как сказали. В админке все появилось, вводим в одних единицах, а вот вывод в других через multiplier не получается. Не хочет выводиться базовая единица, выводится та, которую указали при вводе значения. 'base_unit' => 'm', - не обрабатывается эта строка, выводит в тех, что вводили (дюймы). Ошибка какая-то. Не подскажете?

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 17 февраля 2015 05:00 #

        Покажите содержимое своего файла и снимок экрана, на котором видно, что отображается не так, и объясните, как оно должно отображаться.

        • +1
          VictorGT VictorGT 17 февраля 2015 06:27 #

          В админке вес товара вводим в фунтах. На витрине хотим, чтобы отображалось в кг.

          Я же правильно понял, что в строке 'base_unit' => 'kg', указывается, в какой единице измерения выводить на витрине?

          Кусок из файла wa-config/apps/shop/dimension.php:

          'weight' => array(
          'name' => _w('Weight'),
          'base_unit' => 'kg',
          'units' => array(
          'lbs' => array(
          'name' => _w('lbs'), //pound
          'multiplier' => 1,
          ),
          'kg' => array(
          'name' => _w('kg'), //kilogram
          'multiplier' => 0.45,
          ),
          ),
          ),

          Скрины админки и витрины:

          Должно быть ВЕС: 48.6 кг

          • +1
            Михаил Ушенин Михаил Ушенин Webasyst 17 февраля 2015 07:05 #

            В строке 'base_unit' => 'kg' указывается, относительно какой из единиц будут рассчитываться значения, указанные в других единицах, с учётом указанных для них значений multiplier.

            Вообще нет особого смысла изменять значение в строке 'base_unit' => 'kg'.

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

            А изменение базовой единицы с изменением коэффициентов приведёт к тому же самому результату и только усложнит вам работу (а также может привести к ошибкам, как в вашем случае — у вас в файле коэффициент для фунта относительно базовой единицы килограмма равен 1, что не есть правильно).

  • 1

    НИЧЕГО НЕ ИЗМЕНИЛОСЬ

    'weight' => array(

    'name' => _w('Weight'),

    'base_unit' => 'kg',

    'units' => array(

    'g' => array(

    'name' => _w('g'), //gram

    'multiplier' => 0.001,

    ),

    'kg' => array(

    'name' => _w('kg'), //kilogram

    'multiplier' => 1,

    ),

    'lbs' => array(

    'name' => _w('lbs'), //pound

    'multiplier' => 0.4536,

    ),

    'oz' => array(

    'name' => _w('oz'), //ounce

    'multiplier' => 0.0283495,

    ),

    ),

    ),

    'volume' => array(

    'name' => _w('Volume'),

    'base_unit' => 'l',

    'units' => array(

    'ml' => array(

    'name' => _w('ml'), //milliliter

    'multiplier' => 0.001,

    ),

    'l' => array(

    'name' => _w('l'), //liter

    'multiplier' => 1,

    ),

    'cl' => array(

    'name' => _w('cl'), //centiliter

    'multiplier' => 0.4536,

    ),

    ),


  • 1
    Сам такой Партнер-разработчик 5 февраля 2015 02:50 # Решение

    Спасибо!

    решение: параметр 'base_unit' => 'g', указываем требуемое значение по умолчанию

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 5 февраля 2015 04:06 #

      Только коэффициенты пересчёта значений (multiplier) поменяйте в секции units. Иначе у вас получится, что 1 кг = 1г.

  • 1

    Так правильно?

    'length' => array(

    'name' => _w('Length'),

    'base_unit' => 'mm',

    'units' => array(

    'm' => array(

    'name' => _w('m'), //meter

    'multiplier' => 1,

    ),

    'cm' => array(

    'name' => _w('cm'), //centimeter

    'multiplier' => 0.01,

    ),

    'mm' => array(

    'name' => _w('mm'), //millimeter

    'multiplier' => 0.001,

    ),

    'in' => array(

    'name' => _w('in'), //inch

    'multiplier' => 0.0254,

    ),

    'ft' => array(

    'name' => _w('ft'), //foot

    'multiplier' => 0.3048,

    ),

    'yd' => array(

    'name' => _w('yd'), //yard

    'multiplier' => 0.9144,

    ),

    'km' => array(

    'name' => _w('km'), //kilometer

    'multiplier' => 1000,

    ),

    'mi' => array(

    'name' => _w('mi'), //mile

    'multiplier' => 1609,

    ),

    )

    ),

    'weight' => array(

    'name' => _w('Weight'),

    'base_unit' => 'g',

    'units' => array(

    'kg' => array(

    'name' => _w('kg'), //kilogram

    'multiplier' => 1,

    ),

    'g' => array(

    'name' => _w('g'), //gram

    'multiplier' => 0.001,

    ),

    'lbs' => array(

    'name' => _w('lbs'), //pound

    'multiplier' => 0.4536,

    ),

    'oz' => array(

    'name' => _w('oz'), //ounce

    'multiplier' => 0.0283495,

    ),

    ),

    ),

    'volume' => array(

    'name' => _w('Volume'),

    'base_unit' => 'ml',

    'units' => array(

    'l' => array(

    'name' => _w('l'), //liter

    'multiplier' => 1,

    ),

    'ml' => array(

    'name' => _w('ml'), //milliliter

    'multiplier' => 0.001,

    ),

    'cl' => array(

    'name' => _w('cl'), //centiliter

    'multiplier' => 0.4536,

    ),

    ),

  • 1
    Владимир 2 мая 2017 13:17 #

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

Добавить ответ

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