Источник файлов галереи minishop

Использую
— modx 2.7.1
— minishop 2.4.18-pl

В системных настройках минишоп указан источник файлов — ms2_product_source_default — MS2 Images
Однако при создании нового товара, сохранения его и перехода в галерею вижу, что стоит источник — FileSystem

Глюк? Кривые руки? Третий вариант? )
Александр Мельник
11 апреля 2019, 13:44
modx.pro
812
0

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

Александр Мельник
11 апреля 2019, 19:15
0
Ну поделитесь хоть, у всех так или это мне такое счастье.
Проект на 45 процентов готов, а тут такая «радость». Нельзя же заставлять заказчика каждый раз создавая товар идти и переключать источник файлов. А я к своему стыду не знаю, как повлиять на это, кроме системной настройки для minishop ms2_product_source_default
    Николай Савин
    11 апреля 2019, 19:19
    0
    Плагин может какой, меняет настройки при генерации страницы?
    Мне обычно если надо выставить настройки по умолчанию для какой то конкретной страницы, родителя, шаблона я пишу плагин.
    switch ($modx->event->name) {
        case 'OnDocFormSave':
            //Установка источника файлов для проектов
            if($mode == modSystemEvent::MODE_NEW && $resource->get('template') == 9){
                $properties = $modx->fromJSON($resource->get('properties'));
                $properties['ms2gallery'] = array('media_source' => 5); // его источник файлов
                $resource->set('properties', $modx->toJSON($properties));
                $resource->save();
            }
        break;
    }
    Это просто при сохранении документа, а вот код который генерирует нужные настройки сразу на лету для нового документа, и они будут сразу в форме применены. В данном случае, кое где я установил сразу статичные значения, а кое где берутся настройки соседей
    case 'OnDocFormRender':
            if($mode == 'new'){
                switch($resource->parent){
                    case 199:
                        $resource->set('template', 20);
                        $properties = [];
                        $properties['ms2gallery']['media_source'] = 2;
                        $resource->set('properties', $properties);
    
                        break;
                    default:
                        $page = $modx->getObject('modResource', array('parent' => $resource->parent));
                        if($page){
                            $resource->set('template', $page->template);
    
                            $properties = $page->get('properties');
                            if(!empty($properties['ms2gallery']['media_source'])){
                                $source = $properties['ms2gallery']['media_source'];
                                $properties = [];
                                $properties['ms2gallery']['media_source'] = $source;
                                $resource->set('properties', $page->$properties);
                            }
                        }
                }
    
            }
    
            break;
      Александр Мельник
      11 апреля 2019, 19:40
      0
      Спасибо, поизучаю ваш код. Плагинов сторонних точно нет, чистая установка modx c сайта modx.com и последняя версия minishop с modx.pro. Все установил только вчера.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3