Вывод на страницу значений из доп.поля msProduct

Доброго времени суток!
Помогите разобраться, пожалуйста.
miniShop2. В свойствах товара добавлено поле msProduct со множественными значениями.
Если в поле одно значение, то на странице товара в этом поле пусто, а в инспекторе есть!
Если два и более значений, то в поле норм, но в инспекторе…
Вызов сниппета:
[[!msProductOptions? 
   &tplRow=`my.tpl.msProductOptions.row`
   &tplValue=`@INLINE <option value="[[+value]]">[[+value]]</option>`
   &hideEmpty=`1`
   &valuesSeparator=``
]]
Чанк my.tpl.msProductOptions.row выводит на страницу:
<div>
    <label>[[+caption]]:</label>
    <select name="options[[[+key]]]">[[+value]]</select>
</div>
Когда одно значение — в поле пусто, а в инспекторе:
<select name="options[chashka]">B</select>
Если значений несколько, то в поле все на месте, а в инспекторе
<select name="options[chashka]">
  <option "b"="">B</option>
  <option "c"="">C</option>
  <option "d"="">D</option>
</select>



Подскажите как исправить, пожалуйста. Вроде кажется мелочь такая, а затык, однако(
Анна
20 января 2016, 19:11
modx.pro
2 264
0

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

Павел Карелин
21 января 2016, 00:37
+2
Это происходит потому что у вас названия атрибутов в ковычках, а должны без, ну и + атрибуты странные b, c, d — это не атрибуты. value — это атрибут.
<select name="options[chashka]">
  <option b="">B</option>
  <option c="">C</option>
  <option d="">D</option>
</select>
Вот так наверно.
И на будущее, такие ошибки как правило происходят если есть какие то ошибки в синтаксисе. В данном примере ошибка в html ИМХО.
    Анна
    21 января 2016, 06:50
    0
    Спасибо, Павел. Но html в данном случае не мой. Это работа сниппета. html из инспектора я тут привожу как результат работы сниппета при разных вариантах вызова. Значит или в сниппете что-то не так, или в вызове.
      Анна
      21 января 2016, 07:30
      0
      Если вызов
      <div>
          <label>[[+caption]]:</label>
          <select name="options[[[+key]]]">[[+value]]</select>
      </div>
      то все отлично работает, и в коде все по аналогии с родными полями, и выводится так же как родные поля, и вообще никаких претензий. НО если в поле ОДНО значение, то оно на странице не отображается!
      В этом и вопрос)
        Павел Карелин
        21 января 2016, 12:12
        +1
        Вы попробовали?
          Анна
          21 января 2016, 12:39
          0
          Ну, да. Оно и сейчас так))
          Вызов сниппета:
          [[!msProductOptions? 
             &tplRow=`my.tpl.msProductOptions.row`
             &tplValue=`@INLINE <option value="[[+value]]">[[+value]]</option>`
             &hideEmpty=`1`
             &valuesSeparator=``
          ]]
          Чанк my.tpl.msProductOptions.row выводит на страницу:
          <div>
              <label>[[+caption]]:</label>
              <select name="options[[[+key]]]">[[+value]]</select>
          </div>
          И все нормально работает, кроме случаев с одним значением.
    Анна
    22 января 2016, 06:21
    0
    Всем большое спасибо за помощь. Задачу решила.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6