Создание и обновление migx-конфигурации через api

Знает ли кто-нибудь, как можно удобно через api migx-конфигурацию создать или обновить? Там просто несколько таблиц, куча параметров в json, так что через xpdo неудобно.
Лёша
16 октября 2022, 01:21
modx.pro
140
0

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

vectorserver
16 октября 2022, 18:57
0
Я делал так через процессор
<?php

/* @global  $modx*/

$object_id = 'new'; //new - создание, число 1,2,3 = id конфигрурации
//$object_id = 13;


$jsonData = '{
  "formtabs":"",
  "contextmenus":"",
  "actionbuttons":"",
  "columnbuttons":"",
  "filters":"",
  "extended":{
    "migx_add":"",
    "disable_add_item":"",
    "add_items_directly":"",
    "formcaption":"",
    "update_win_title":"",
    "win_id":"",
    "maxRecords":"",
    "addNewItemAt":"bottom",
    "media_source_id":"",
    "multiple_formtabs":"",
    "multiple_formtabs_label":"",
    "multiple_formtabs_field":"",
    "multiple_formtabs_optionstext":"",
    "multiple_formtabs_optionsvalue":"",
    "actionbuttonsperrow":4,
    "winbuttonslist":"",
    "extrahandlers":"",
    "filtersperrow":4,
    "packageName":"",
    "classname":"",
    "task":"",
    "getlistsort":"",
    "getlistsortdir":"",
    "sortconfig":"",
    "gridpagesize":"",
    "use_custom_prefix":"0",
    "prefix":"",
    "grid":"",
    "gridload_mode":1,
    "check_resid":1,
    "check_resid_TV":"",
    "join_alias":"",
    "has_jointable":"yes",
    "getlistwhere":"",
    "joins":"",
    "hooksnippets":"",
    "cmpmaincaption":"",
    "cmptabcaption":"",
    "cmptabdescription":"",
    "cmptabcontroller":"",
    "winbuttons":"",
    "onsubmitsuccess":"",
    "submitparams":""
  },
  "permissions":{
    "apiaccess":"",
    "view":"",
    "list":"",
    "save":"",
    "create":"",
    "remove":"",
    "delete":"",
    "publish":"",
    "unpublish":"",
    "viewdeleted":"",
    "viewunpublished":""
  },
  "fieldpermissions":"",
  "columns":"",
  "category":""
}';



$dataMigx = array(
    'data' => $jsonData,//Строка JSON
    'configs' => 'migxconfigs',
    'object_id' => $object_id,
    'tempParams' => 'export_import',
);
$response = $modx->runProcessor('/mgr/migxdb/update', $dataMigx);

if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка dataMigx: '.$response->getMessage());
}
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1