Пример ms2form

Люди добрые, покажите пожалуйста примеры реализации. По возможности если еще и с опциями было бы здорово. Титул, прайс и картинки нормально выводит, а вот с ТВ и опциями не могу разобраться.
Сергей Лим
28 декабря 2017, 00:19
modx.pro
2 306
0
Поблагодарить автора Отправить деньги

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

Андрей
28 декабря 2017, 11:04
+1
Мне помогло вот это — https://modx.pro/components/11939/#comment-79596. Тоже когда разбирался первый раз, не сразу понял как писать в TV :)

Код из документации:
<div class="form-group">
  <label>Пример TV </label>
  
  <input type="text" name="tv1" class="form-control">
</div>
    snyadanak
    28 декабря 2017, 21:29
    +1
    {$_modx->runSnippet('!ms2form',
    ['parents' => 2,
    'allowedFields' =>'parent,pagetitle,content,template,hidemenu,tags,tv3,tv4,tv5',
    'redirectPublished' => 0,
    'parentsIncludeTVs' => 'tv3,tv4,tv5',
    'tplCreate' => 'tpl.ms2form',])}
    tv3 — TV с айди 3
    tv4 — TV с айди 4

    и т.п

    Чанк формы:
    <form class="well create" method="post" action="home" id="ms2form" role="form">
        <input type="hidden" id="ms2formFormKey" name="form_key" value="[[+formKey]]">
            <input type="hidden" name="pid" value="0">
            <input type="hidden" name="published" value="1"/>
            <input type="hidden" name="hidemenu" value="0"/>
            
            <input type="hidden" name="redirectPublished" value="[[+redirectPublished]]"/>
            <input type="hidden" name="tv3" value="[[+tv3]]"/>
            <input type="hidden" name="tv4" value="[[+tv4]]"/>
            <input type="hidden" name="tv5" value="[[+tv5]]"/>
            
            <div class="form-group">
                <label>ПЕрвое поле: </label>
                <input type="text" name="tv3" value="[[+tv3]]" class="form-control">
            </div>
            
            <div class="form-group">
                <label>Второе поле: </label>
                <input type="text" name="tv4" value="[[+tv4]]" class="form-control">
            </div>
            <div class="form-group">
                <label>Третье поле: </label>
                <input type="text" name="tv5" value="[[+tv5]]" class="form-control">
            </div>
            
    </form>
      Андрей
      28 декабря 2017, 21:51
      +1
      'allowedFields' =>'parent,pagetitle,content,template,hidemenu,tags,tv3,tv4,tv5'
      'parentsIncludeTVs' => 'tv3,tv4,tv5'
      Тут если не ошибаюсь нужно писать уже имена TV-шек а не id. Если найду архив проекта на котором делал, напишу как сделан вызов и форма.
        snyadanak
        28 декабря 2017, 23:11
        0
        Прям сейчас юзаю на одном из сайтов — от туда скопировано =)
      Сергей Лим
      28 декабря 2017, 23:00
      0
      Всем спасибо, коммент мне тоже помог)
        Денис
        28 января 2018, 23:09
        0
        Добрый день. Подскажите, как заполнять дополнительные поля (опции)?
          Андрей
          28 января 2018, 23:25
          0
          С опциями не работает вроде + не все типы полей поддерживаются. Работают дефолтные price, color, tags, возможно и другие поля, не проверял. Также можно расширять таблицу товара через компонент — msFieldsManager, тогда запись в эти поля работает.
            Денис
            29 января 2018, 00:57
            +1
            Вы не правы. Работает. Чтобы вывести опции надо писать «options-имя_опции». Например, у нас есть опция с именем «example» Тогда вызов будет выглядеть:

            &allowedFields=`pagetitle, content, options-example`
            &requiredFields=`pagetitle, options-example`

            А в самом чанке будет выглядеть так:
            input type=«text» name=«options-example» class=«form-control»

            По крайне мере у меня работает.
              Андрей
              29 января 2018, 01:39
              0
              На какой то из версий точно не работало, потому и делал через msFieldsManager, в любом случае задача решалась. Тогда ещё минишоп 2.2 вроде был.

              Если сейчас работает, оно и хорошо :) спасибо за описание.
                Денис
                29 января 2018, 02:44
                0
                Да не за что.
                Вот только почему-то на странице редактирования товара опции возвращаются пустые, а стандартные выводятся без проблем.
                  Руслан Валеев
                  09 ноября 2018, 21:06
                  0
                  Приветствую, нашелся ли ответ или решение данной проблемы 7?
          Андрей
          20 февраля 2018, 14:09
          0
          Добрый день.
          Подскажите, как правильно сделать такую штуку:
          1. Есть опции в виде выпадающего списка. Как их вывести в виде select в форме создания товара, а также select в форме редактирования, где уже бы стоял отмеченный пункт.
          2. Есть формы с множественным выбором. Как их вывести в виде поля с автодополнением, чтобы в нем можно было несколько опций выбирать, как например поля color в админке minishop2? Ну и как из вывести в форме редактирования с уже выбранными пунктами в поле?
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            12