под названием "img_page" конфигурация следующая 
                  
                  
                  "[{"caption":"inews", "fields": [
                  
                  
                  {"field":"title","caption":"Название"}, 
                  
                  
                  {"field":"image","caption":"Изображение","inputTV": "img-migx"}]
                  
                  
                  }]" - где так же создана смешанная загрузка TV под названием "img-migx" - поле прикрепления изображений, картинок.
                  
                  
                  Все работает, через панель управления как надо, выводится, прикрепляется в общем классический подход к реализации и реализация в целом успешна.
                  
                  
                  
                  
                  
                  2) Создана страница со стороны фронта для добавления ресурса, где указан: 
                  
                  
                  сниппет "iadd_migx" - вывод его 
                  
                  
                  "
                  
                  
                  <?php
                  
                  
                  if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_button'])) {
                  
                  
                      // Получаем данные из формы
                  
                  
                      $pagetitle = $_POST['pagetitle'];
                  
                  
                      $parent = (int)$_POST['parent'];
                  
                  
                      $template = (int)$_POST['template'];
                  
                  
                      $published = isset($_POST['published']) ? 1 : 0;
                  
                  
                      $content = $_POST['content'];
                  
                  
                      $introtext = $_POST['introtext'];
                  
                  
                  
                  
                  
                      //TV 
                  
                  
                      $icons_menu = isset($_POST['icons-menu']) ? $_POST['icons-menu'] : '';
                  
                  
                      // $img_page = isset($_POST['img-page']) ? $_POST['img-page'] : ''; // Удаляем это поле
                  
                  
                  
                  
                  
                      $publishedon = date('Y-m-d H:i:s'); // Установить текущую дату и время
                  
                  
                  
                  
                  
                      // Создаем новый объект класса modResource
                  
                  
                      $newResource = $modx->newObject('modResource');
                  
                  
                  
                  
                  
                      // Задаем значения свойств для нового ресурса
                  
                  
                      $newResource->set('pagetitle', $pagetitle);
                  
                  
                      $newResource->set('parent', $parent);
                  
                  
                      $newResource->set('template', $template);
                  
                  
                      $newResource->set('published', $published);
                  
                  
                      $newResource->set('introtext', $introtext);
                  
                  
                      
                  
                  
                      //TV 
                  
                  
                      $newResource->save(); // обязательно перед setTVValue ставим чтобы сохранил и передал
                  
                  
                      
                  
                  
                      $newResource->setTVValue('icons-menu', $icons_menu); //TV icons-menu
                  
                  
                      
                  
                  
                      // Модифицируем загрузку изображений через MIGX поле
                  
                  
                      if (isset($_FILES['tv-image']) && is_array($_FILES['tv-image']['tmp_name'])) {
                  
                  
                          $allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
                  
                  
                          $maxFileSize = 5 * 1024 * 1024; // Максимальный размер файла - 5 МБ
                  
                  
                          
                  
                  
                          // Проверяем каждый загруженный файл и сохраняем его
                  
                  
                          foreach ($_FILES['tv-image']['tmp_name'] as $index => $tmp_name) {
                  
                  
                              if (empty($tmp_name)) continue;
                  
                  
                              
                  
                  
                              $fileType = $_FILES['tv-image']['type'][$index];
                  
                  
                              if (!in_array($fileType, $allowedTypes)) {
                  
                  
                                  echo "Ошибка: недопустимый формат файла.";
                  
                  
                                  exit();
                  
                  
                              }
                  
                  
                              
                  
                  
                              if ($_FILES['tv-image']['size'][$index] > $maxFileSize) {
                  
                  
                                  echo "Ошибка: размер файла превышает допустимый лимит.";
                  
                  
                                  exit();
                  
                  
                              }
                  
                  
                              
                  
                  
                              $uploadDir = 'img-page/'; // путь к папке для сохранения изображений TV
                  
                  
                              $fileName = uniqid('tv-image-', true) . '.' . pathinfo($_FILES['tv-image']['name'][$index], PATHINFO_EXTENSION);
                  
                  
                              $uploadPath = $uploadDir . $fileName;
                  
                  
                              
                  
                  
                              if (!move_uploaded_file($tmp_name, $uploadPath)) {
                  
                  
                                  echo "Ошибка: не удалось сохранить файл.";
                  
                  
                                  exit();
                  
                  
                              }
                  
                  
                              
                  
                  
                              // Добавляем значение TV с путем к изображению TV
                  
                  
                              $img_migx[] = $uploadPath;
                  
                  
                          }
                  
                  
                          
                  
                  
                          $img_page = array_filter($img_page); //Это удалит пустые значения массива, чтобы избежать лишних разделителей в строке.
                  
                  
                          // Конвертируем массив с путями в строку для сохранения в базе данных
                  
                  
                          $img_page = implode('||', $img_page);
                  
                  
                          
                  
                  
                          $newResource->setTVValue('img_page', $img_page); // TV смешанная загрузка 
                  
                  
                      }
                  
                  
                  
                  
                  
                      $newResource->setContent($content);
                  
                  
                      $newResource->set('publishedon', $publishedon); // Установите значение для поля 'опубликовано'
                  
                  
                  
                  
                  
                      // Сохраняем новый ресурс
                  
                  
                      if ($newResource->save()) {
                  
                  
                          echo '<div class="alert alert-primary" role="alert">Ресурс успешно создан!</div>';
                  
                  
                      } else {
                  
                  
                          echo 'Ошибка при создании ресурса: '.$newResource->get('error_message');
                  
                  
                      }
                  
                  
                  }
                  
                  
                  "
                  
                  
                  и форма добавления
                  
                  
                
@biz87 тебя услышали)
Обсуждают сегодня