Скрыть description через API

Здравствуйте. Скажите пожалуйста как через API для всех существующих ПРОФИЛЕЙ форм созданных на вкладке manager/?a=security/forms отключить вывод поля description при редактировании ресурса.
Спасибо
Ivan
05 апреля 2018, 10:09
modx.pro
1 268
0

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

Aleksandr Huz
05 апреля 2018, 15:38
0
Можно через плагин скрыть:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnDocFormPrerender':
        // Скрываем поле description, для ресурсов с индетификатором шаблона 2
        // а также скрываем поле для всех новых ресурсов ( $resource == null )
        if( $resource && $resource->get('template') == 2 || !$resource){
            $modx->regClientStartupHTMLBlock('
            <style>
                label[for=modx-resource-description],
                #modx-resource-description {
                    display:none!important
                }
            </style>');
        }
        break;
}
    Ivan
    05 апреля 2018, 15:44
    0
    Спасибо. Это конечно может подойти, но я думал что-то вроде $modx->getObject, $modx->newObject. Так наверное будет правильнее. Но пока использую ваш вариант.
      Aleksandr Huz
      30 апреля 2018, 18:24
      0
      Я узнал еще об одном способе)))
      <?php
      $eventName = $modx->event->name;
      switch($eventName) {
          case 'OnDocFormPrerender':
              // Для ресурсов с индетификатором шаблона 2
              // а также для всех новых ресурсов ( $resource == null )
              if( $resource && $resource->get('template') == 2 || !$resource){
                  $modx->regClientStartupHTMLBlock('<script>
              Ext.onReady(function() {
                  	
                   // Добавляем вкладку
                      MODx.addTab("modx-resource-tabs",{title:"SEO",id:"seo"});
              
                   // Прячем ненужные вкладки
              	MODx.hideRegion("modx-resource-tabs", "modx-panel-resource-tv");
              	MODx.hideRegion("modx-resource-tabs", "modx-resource-access-permissions");
                  
                   // Прячем ненужные поля
              	MODx.hideField("modx-panel-resource", ["modx-resource-content","description"]);
              	
                   // Переносим TV на вкладку
              	MODx.moveTV(["tv32"], "seo");
      
              });
          </script>');
              }
              break;
      }
        Семён Кудрявцев
        30 апреля 2018, 19:03
        +1
        Зачем писать плагины, подключать какие-то скрипты?
        У MODX есть штатный инструмент для настройки интерфейса ресурсов и вкладок
        yadi.sk/i/5cQMS4CH3UzxNs
        Изучите этот раздел и вопросов как что-то скрыть или переместить в интерфейсе ресурса у Вас больше не возникнет.
        А вот если родного функционала окажется мало, вот тогда пускайте в ход самописные плагины.
          Aleksandr Huz
          01 мая 2018, 15:09
          0
          Вопрос был совсем не про штатный инструмент. И он генерирует точно такой же код, что я и написал выше. Тем более. что плагин можно сделать статичным и редактировать через свой любимый редактор.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5