Изменение полей в свойствах товара

Подскажите, пожалуйста, можно ли вместо стандартных полей в miniShop2, таких, как «цена», «цвета», «размеры», «страна» и т.д., прописать свои поля (причем так, чтобы можно было также объединить их в блоки)?

Например, мне нужно для каждого товара указывать целый комплекс цен — в зависимости от времени года, дня недели и т.п. В итоге на странице товара будет таблица с тарифами (в общей сложности до 20 новых полей может понадобиться). Тарифы для каждого товара могут быть различны.

Я уже несколько часов изучаю документацию, но нашла пока только, как можно перенести существующие поля во вкладку «Свойства товара» или удалить их. Очень удобно, что это можно сделать, но хотелось бы также иметь возможность изменять названия существующих полей и добавлять новые. Возможно ли это?
Дарья Сизова
23 ноября 2013, 13:38
modx.pro
4 362
0

Комментарии: 9

Сергей
23 ноября 2013, 17:55
0
http://bezumkin.ru/modx/minishop2/classes/910/
Вот это смотрели?
    Дарья Сизова
    23 ноября 2013, 18:20
    0
    Смотрела, увы, для моего уровня знаний php это слишком сложно((( Я элементарно не могу понять, откуда берутся русские названия полей, т.к. ни в примерах кода, ни в файлах я не нашла их, хотя они же где-то должны быть прописаны.
      Сергей
      23 ноября 2013, 18:25
      0
      Все названия для всех языков берутся из Система — Управления словарями.
      Если не заморачиваться с системой плагинов, то тогда можно делать через TV.
        Дарья Сизова
        23 ноября 2013, 18:40
        0
        Да, я пробовала подставить вывод TV-параметров. В чанке msProduct.content он выводится, но если я добавляю товар в корзину, то не выводится. Я подумала, что наверное нужно также подставить нужный TV в чанк tpl.msCart.row, но или я неправильно подставляю (пробовала три варианта: [[*mytv]], [[+mytv]] и даже [[+tv.mytv]]), или вообще не там ищу…

        Подскажите, как правильно использовать TV-парамерты в miniShop2, чтобы они выводились не только на странице товара, но и в корзине, в заказе и т.д.?
          Сергей
          23 ноября 2013, 18:52
          0
          При вызове сниппета корзины у него есть параметр includeTVs, где нужно перечислить список TV, которые будут доступны через плейсхолдер [[+tvname]].
            Дарья Сизова
            23 ноября 2013, 19:08
            0
            Я правильно понимаю, что вызов сниппета корзины должен выглядеть так:
            [[!msCart? &includeTVs=`1`]]
            а в чанк tpl.msCart.row я вставляю плейсхолдер [[+tvname]]?
            Если так, то пока не получается…
              Сергей
              23 ноября 2013, 19:10
              0
              Нет, не правильно. Можете посмотреть параметры сниппета, там у каждого параметра есть описание.
              Надо вызывать:
              [[!msCart? &includeTVs=`tvname1,tvname2`]]
              и потом:
              [[+tvname1]] и [[+tvname2]]
                Дарья Сизова
                23 ноября 2013, 19:15
                0
                Да-да, я уже написала, что исправилась, спасибо еще раз))
                Я так и сделала, посмотрела параметры.
                Дарья Сизова
                23 ноября 2013, 19:14
                0
                Вопрос снимаю, уже разобралась, в чем моя ошибка! Нужно указывать не 1, а название TV:
                [[!msCart? &includeTVs=`tvname1,tvname2,tvname3`]]

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