Различное отображение страницы товара в админке MS2

Есть задача сделать различное отображение товара в админке для разных контент-менеджеров.
Сделал по инструкции автора https://docs.modx.pro/components/minishop2/development/plug-ins-products. Все работает.
Дальше попытался в файле index.php определить различные msproductdata.js для разных групп пользователей или конкретных пользователей… Но неудача. Видно, ms2 эти файлы подключает до инициализации пользователя…
Прошу подсказать как реализовать мою идею?
Василий К.
10 апреля 2018, 11:59
modx.pro
653
0

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

Володя
11 апреля 2018, 09:15
0
Все работает.
Вот и отлично.

для разных групп пользователей или конкретных пользователей
Плагин на OnDocFormPrerender, в зависимости от пользователя/группы пользователя прятать лишние поля.

Если просто прятать не вариант, а нужно действительно серьезные изменения админки то переопределять miniShop2.panel.Product
    Василий К.
    11 апреля 2018, 13:30
    0
    Да, идея понятна. Вот еще нашел инструкцию: https://modx.pro/development/6916/. Там на другое событие плагин назначается, и так и эдак пробовал. Не выходит.
    Вот мой плагин:
    if($modx->event->name == 'OnManagerPageBeforeRender') {
        $modx->controller->addJavascript(MODX_ASSETS_PATH . 'ms2ChangeFieldsPlugin/mscontentmanagerhideelements.js');
    }
    Вот js:
    Ext.onReady(function() {
        var el = Ext.getCmp('x-form-el-modx-resource-old_price');
        el.hide();
    })
    js не подключается.
    Что-то я не догоняю похоже…

    Или Вы предлагаете другой вариант действий?
    Можно чуть подробнее?
      Володя
      11 апреля 2018, 13:36
      0
      и так и эдак пробовал. Не выходит.
      а плагину данное событие назначили?
      Можно чуть подробнее?
      пользуйтесь поиском по OnDocFormPrerender, примеров более чем достаточно.
        Василий К.
        11 апреля 2018, 13:39
        0
        Да, назначил
          Василий К.
          11 апреля 2018, 14:07
          0
          Вобщем, у меня не работают почему-то методы ExtJS, hide() например. Если использовать чистый JS, То работает нормально.
            Володя
            11 апреля 2018, 15:14
            0
            потому что неверно указываете идентификатор
            joxi.ru/bmoBgdMhxKKvVr
              Василий К.
              11 апреля 2018, 15:54
              0
              А… Вон оно что!!! Проморгал этот момент. Спасибо!
        Василий К.
        11 апреля 2018, 14:10
        0
        А как воздействовать на miniShop2.panel.Product не подскажете?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      10