We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 7151
    • 61 Posts
    Есть необходимость в сниппете работать с массивом. Массив должен формироваться из TV параметра. Желательно одного.
    Общая схема данных в массиве имеет вид:

    $data_start = array(
            "Класс-1"=> array(
                  "pay"=> array("Дата1" => "цена1",
                                "Дата2" => "цена2",
                                "Дата3" => "цена3"),
                  "Группа-1", "Группа-2", "Группа-3", "Группа-333"
            ),
            "Класс-2"=> array(
                  "pay"=> array("Дата1" => "цена11",
                                "Дата2" => "цена12",
                                "Дата3" => "цена13"),
                  "Группа-11", "Группа-22", "Группа-33"
            ),
     );


    Число Классов и Групп не ограничено. Число Дат всегда равно трем, но цены у них разные.

    Как удобно для пользователя сформировать правила для хранения данных в TV? И при этом, получив данные из TV, сформировать этот массив?
    Например, удобно ли так хранить в TV?

    Класс-1(Дата1-цена1,Дата2-цена2,Дата3-цена3);(Группа-1,Группа-2,Группа-3,Группа-333)
    Класс-2(Дата1-цена11,Дата2-цена12,Дата3-цена13);(Группа-11,Группа-22,Группа-33)


    Или ваш вариант?

    Стоит ли смотреть в сторону migx? Подходит ли он для этого?
      • 52243
      • 114 Posts
      Если интерфейс для редактирования структурированных данных не нужно, т.е. значение массива статично более менее - просто используйте JSON и сниппет из 2 действий:

      1. Получаете TV
      2. json_decode

      Если нужен интерфейс - используйте MIGX, это все тот же JSON в строке + редактор.
        • 7151
        • 61 Posts
        Quote from: modxhelp.ru at Dec 27, 2017, 02:12 AM
        Если интерфейс для редактирования структурированных данных не нужно, т.е. значение массива статично более менее - просто используйте JSON и сниппет из 2 действий:

        1. Получаете TV
        2. json_decode

        Если нужен интерфейс - используйте MIGX, это все тот же JSON в строке + редактор.

        Нужно занести в TV более менее понятные данные, типа:
        Класс-1(Дата1-цена1,Дата2-цена2,Дата3-цена3);(Группа-1,Группа-2,Группа-3,Группа-333)
        Класс-2(Дата1-цена11,Дата2-цена12,Дата3-цена13);(Группа-11,Группа-22,Группа-33)

        а не формировать этот массив в уме. Как это сделать?
          • 52243
          • 114 Posts
          Quote from: Designer at Dec 29, 2017, 02:27 PM
          Quote from: modxhelp.ru at Dec 27, 2017, 02:12 AM
          Если интерфейс для редактирования структурированных данных не нужно, т.е. значение массива статично более менее - просто используйте JSON и сниппет из 2 действий:

          1. Получаете TV
          2. json_decode

          Если нужен интерфейс - используйте MIGX, это все тот же JSON в строке + редактор.

          Нужно занести в TV более менее понятные данные, типа:
          Класс-1(Дата1-цена1,Дата2-цена2,Дата3-цена3);(Группа-1,Группа-2,Группа-3,Группа-333)
          Класс-2(Дата1-цена11,Дата2-цена12,Дата3-цена13);(Группа-11,Группа-22,Группа-33)

          а не формировать этот массив в уме. Как это сделать?

          Мне кажется я уже ответил. Хранение структурированных данных в строке - это JSON, верно? JSON вы можете:


          1. Создать вручную
          2. Создать из php массива c json_encode
          3. Использовать интерфейс MIGX

          Какой вариант лучше в вашем случае - не знаю.