Пропуск фоток при загрузке через процесор

Запускаю такой скрипт на загрузку фоток к товарам
$gallery = array(
    '8926e70d-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e70f-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e70e-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e710-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e711-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e712-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e713-c6af-11eb-9377-18c04d68439c.jpeg',
    '8926e714-c6af-11eb-9377-18c04d68439c.jpeg',
);
foreach ($gallery as $v) {
    $response = $modx->runProcessor('upload',
        array('id' => 'resource_id', 'file' => FILE_PATH . $v),
        array("processors_path" => "/components/minishop2/processors/mgr/gallery/")
    );
    $object = $response->getObject();
}
он работет, но только частично. 2-4 фотки пропускаются — так как minishop-овський порцесор считает что ети фотки уже существуют, тоесть их $hash совпадает с $hash-ом первой фотки.
Все фотки существуют, и они все разные.
Если загружать ети фотки через админку — то все норм.
Кто знает в чом прикол?
Тодор
22 июля 2021, 17:56
modx.pro
507
0

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

Наумов Алексей
23 июля 2021, 09:16
+1
Это же код пример?
Просто 'id' => 'resource_id' выглядит странно :)

Какой вывод у responce?
    Тодор
    23 июля 2021, 11:09
    0
    да ето код пример )
    у 2-4 такой масив,
    Array
        [success] => 
        [message] => Такое изображение уже есть в галерее товара.
        [total] => 0
        [errors] => Array(        )
        [object] => Array(        )
    )
    а у остальних
    Array(
        [success] => 1
        [message] => 
        [total] => 0
        [errors] => Array(        )
        [object] => Array(
            [id] => 15637
            [product_id] => 2017
            [source] => 2
            [parent] => 0
            [name] => 8926e70d-c6af-11eb-9377-18c04d68439c
            [description] => 
            [path] => 2017/
            [file] => 8926e70d-c6af-11eb-9377-18c04d68439c.jpeg
            [type] => image
            [createdon] => 2021-07-23 11:04:14
            [createdby] => 1
            [rank] => 0
            [url] => /assets/images/products/2017/8926e70d-c6af-11eb-9377-18c04d68439c.jpeg
            [properties] => Array(
                [size] => 115653
                [width] => 2000
                [height] => 1600
                [bits] => 8
                [mime] => image/jpeg
            )
            [hash] => 9ee73b013db3030f41d162a0525314fc3b97e806
            [active] => 1
        )
    )
    ето при первой загрузке фоток, а дальше у всех пустой масив
      Тодор
      23 июля 2021, 11:34
      0
      тоесть не пустой, а такой
      Array(
          [success] => 
          [message] => Такое изображение уже есть в галерее товара.
          [total] => 0
          [errors] => Array(        )
          [object] => Array(        )
      )
    Наумов Алексей
    23 июля 2021, 12:40
    0
    Если исходные фото большие — то ms2Gallery может пережимать их на стороне клиента и фактически на сервер придет уже другой файл, в этом разница при загрузке через API и через интерфейс.

    А почему думает что дубли… наверное алгоритм так срабатывает) Эту проверку можно выключить в настройках.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4