Minishop2 не могу понять как вставить tv из карточки товара в письмо

Здравствуйте.
Никак не получается вставить дополнительное поле из карточки товара в шаблон письма tpl.msEmai.
Насколько я понял, за вывод оформленного заказа отвечает сниппет msGetOrder.
На странице оформления заказа делаю так: [[!msGetOrder? &tpl=`tpl.msGetOrder_my` &includeTVs=`size_title`]]
и пытаюсь вывести дополнительное поле на самой странице «Заказ получен» и в письме: {$product.size_title}
В результате, на странице «Заказ получен» tv выводится, а в письме — нет… Прошу помочь.
Игорь
11 февраля 2021, 19:40
modx.pro
737
0

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

Артур Шевченко
11 февраля 2021, 22:24
-1
Если вы хотите передать значение тв в письмо, записывайте его в options[].
    Игорь
    11 февраля 2021, 22:36
    0
    Спасибо. А не могли бы Вы подсказать, как именно это сделать?
      Артур Шевченко
      11 февраля 2021, 22:43
      -1
      в карточке товара внутри формы добавления в корзину добавляете
      <input type="hidden" name="options[size_title]" value="{$_modx->resource.size_title}">
      В корзине и в письме появится свойство $product.options['size_title']
        Игорь
        12 февраля 2021, 09:20
        0
        Спасибо, получилось. )
        Но, правда, новую опцию не очень хотелось заводить — я ведь этим tv просто подменяю название свойства «размер» на свое для разных товаров…
          Артур Шевченко
          12 февраля 2021, 11:11
          -1
          В смысле новую опцию заводить? В настройках-то? А я разве говорил, что это нужно сделать? Массив формируется вне зависимости от того, есть эта опция или нет в настройках, а значение можете туда любое записать хоть ТВ, хоть псевдоним
            Игорь
            12 февраля 2021, 11:25
            0
            не знаю… пока я не завел новую опцию в настройках minishop — не работало… я так понял, в базе должно было поле появиться, куда эту опцию запихивать…
              Артур Шевченко
              12 февраля 2021, 11:34
              -1
              Вы знаете, что в форме можно передать массив, если название поля написать вот так fieldname[]? Также, если вы посмотрите в стандартный чанк msProductRow, то заметите, что в форме есть скрытое поле options[], оно передаётся на сервер как массив и в него можно запихнуть любое значение. Если вам пришлось создать новую опцию, значит либо я не понял что вы делаете, либо вы. Третьего не дано? И для общего развития, можете посмотреть в базе как хранятся опции, ради эксперимента, сделайте, как я написал, потом найдите в таблице ms2_order_products товар и посмотрите какие у него есть опции ?
    Наумов Алексей
    12 февраля 2021, 09:58
    0
    Что-то типа
    {$product.id | resource : 'size_title'}
      Игорь
      12 февраля 2021, 10:12
      0
      Супер. Это именно то что нужно. Спасибо.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9