Загрузка изображений в галерею miniShop2 из фронтэ

Доброго времени суток.

Не получается решить проблему с загрузкой изображений для созданного из фронта товара. Пробовал делать загрузку при помощи процессора miniShop2 но что то результата нет.

Собственно последние строчи хука FormIt:
// тут идет создание нового товара с опциями

$res->save(); //  сохранение товара

$miniShop2 = $modx->getService('miniShop2');
$response = $miniShop2->runProcessor('mgr/gallery/upload', array('id' => $res->get("id"), $_FILES['file']));
Eugene Generalov
12 декабря 2016, 22:26
modx.pro
4
4 933
0

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

Eugene Generalov
13 декабря 2016, 08:59
0
Переписал так:
$otherProps = array(
   'processors_path' => $modx->getOption('core_path') . 'components/minishop2/processors/mgr/'
);
$response = $modx->runProcessor('gallery/upload', array('id' => $res->get("id"), $_FILES["file"]), $otherProps);    
if ($response->isError()) {
   $modx->log(modX::LOG_LEVEL_ERROR, $response->getMessage());
}
Ругается permission_denied
Судя по всему, доступа нет.
    Eugene Generalov
    13 декабря 2016, 09:50
    0
    Отвечаю сам себе, что действительно не хватает прав на загрузку. Так как если выставить польлзователю полные права, то изображение загружаются.
    А теперь вопрос к вам. Какие права должен иметь простой пользователь, чтоб загружать изображения в галерею? И почему то файлы загрузились не в то источник файлов?
    Eugene Generalov
    13 декабря 2016, 11:45
    0
    Добавил пользователям политику доступа «miniShopManagerPolicy». Дал необходимые права к источнику файлов. Ошибка доступа осталась.
    Что делать? Куда рыть?
      Ivan
      20 апреля 2021, 14:56
      0
      Похоже я столкнулся с той же проблемой. Может вспомните как её решили?)
      Eugene Generalov
      13 декабря 2016, 13:00
      0
      Вот так поговоришь с умным человеком за целый день и все проблемы решаются)
      Ну почти все.
      Как указать процессору«gallery/upload» работать с источником файлов MS2?
        Николай
        13 декабря 2016, 21:52
        0
        По идее он берёт источник файлов из таблицы modx_site_content, поле properties. Значит, нужно перед загрузкой фото исправить источник, если он по умолчанию не тот.
          Eugene Generalov
          21 декабря 2016, 13:25
          0
          Николай, Вы были почти правы.
          Только он берез из таблицы _ms2_products, поле source.
          Т.е при создании товара необходимо добавлять свойства товара в виде:
          $filds['source'] = $modx->getOption('ms2_product_source_default', null, 1);
            Eugene Generalov
            14 декабря 2016, 19:00
            0
            Попробовал так, не помогло
            $response = $modx->runProcessor('gallery/upload', array('id' => $idDoc, 
            	$_FILES["file"], 
            	'media_source' => $modx->getOption('ms2_product_source_default')), $otherProps);
              Sergey Perepechin
              15 декабря 2016, 10:17
              0
              Проверил — полностью рабочий вариант из cvs.php
              $product = $this->modx->runProcessor('gallery/upload', array('id' => $doc_id, 'name' => $title , 'file' => $image),array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/'));
               if ($product->isError()) {
               $this->modx->log(modX::LOG_LEVEL_ERROR, "Error on upload \"$v\": \n". print_r($product->getAllErrors(), 1)." -id:".$doc_id.",img:".$image);
               }
                Eugene Generalov
                15 декабря 2016, 15:42
                0
                Загружает изображения в источник файлов MS2 Images?
                Просто у меня то тоже рабочий вариант, но грузит все в корень сайта в папки с ID документов
                  Sergey Perepechin
                  15 декабря 2016, 15:45
                  0
                  Ну а куда ему еще его загружать? если это дефолтовый процессор ms2
                    Eugene Generalov
                    16 декабря 2016, 08:26
                    0
                    Ну вот у меня он загружает в источник фалов с корнем сайта, т.е дефолтный MODX
            Александр
            30 мая 2017, 17:04
            0
            Каких еще настроек доступа не хватало, если не секрет? Я сейчас на этом же этапе)
            Eugene Generalov
            19 декабря 2016, 08:13
            0
            Проблема так и осталась. Не у кого нет решения?
              Артур Шевченко
              20 мая 2022, 19:14
              0
              В начале скрипта дописать
              $modx->user = $modx->getObject('modUser', 1);
                vectorserver
                06 марта 2024, 08:21
                0
                $res->set('source',2);
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                17