Как программно менять порядок картинок в ms2Images?

Добрый день!
Подскажите начинающему как реализовать изменение порядка изображений в галерее товара minishop2. Положим у нас есть товар с несколькими картинками в галерее. joxi.ru/ZrJ5ExNhQ9RQpA Заказчик хочет, чтобы, если в выгрузке картинки поменялись местами, чтобы в ресурсе это тоже отражалось. Можно это как-то сделать через процессор gallery/upload? Сейчас загрузка сделана вот так:
$response = $this->modx->runProcessor('gallery/upload', [
  'file' => $image['image'],
  'id' => $resourceId,
  'ctx' => 'mgr'
], ['processors_path' => MODX_CORE_PATH . 'components/ms2gallery/processors/mgr/']);
Это работает, если в товаре нет картинок, но не удалять же каждый раз все картинки и не заливать заново.
Заранее спасибо за ваши светы
Giant Dad
15 декабря 2021, 15:03
modx.pro
354
0

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

Наумов Алексей
15 декабря 2021, 16:26
0
Возможно оптимальнее будет «средний» вариант:
Сравниваем изменения между картинками в выгрузке и у товара, если изменений нет — пропускаем, а если есть изменения — проще удалить все картинки и загрузить заново, чем пытаться а)удалить удаленные б) добавить новые в) изменить порядок файлов.
    Эдуард
    16 декабря 2021, 09:48
    0
    В таблице ms2_product_files можно поменять для каждого файла значение rank, от которого зависит сортировка
      Тодор
      17 декабря 2021, 14:25
      0
      foreach ($gallery as $rank => $v) {
          $sql = "UPDATE {$modx->getTableName('msProductFile')} SET rank=".$rank." WHERE product_id=".$resource_id." AND file = '{$v}'";
          $modx->exec($sql);
      }
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        3