vectorserver

vectorserver

Был в сети 10 июля 2026, 07:32
Заказы принимаю
Нужно еще просто было указать в параметрах, еще один ключ stage

$params = array(
    'crontab' => true,    
    'stage' => 'new_session',
    'id' => 2,
);


Готовый рабочий вариант:
<?php
define('MODX_API_MODE', true);
require '../index.php';

/* @var modX $modx */

//Дадим права админа навыполнение процессора
$modx->user = $modx->getObject('modUser', 1);

//id строки в таблице (колонка ID), таб "Прайс-листы"
$row_ID = 2;

/** @var msPriceList $msPriceList */
$msPriceList = $modx->getService('msPriceList', 'msPriceList', MODX_CORE_PATH . 'components/mspricelist/model/');

$corePath = $modx->getOption('mspricelist_core_path', null, $modx->getOption('core_path') . 'components/mspricelist/');
$path = $modx->getOption('processorsPath', $msPriceList->config, $corePath . 'processors/');


/* @var modX $modx */
$params = array(
    'crontab' => true,
    'stage' => 'new_session',
    'id' => $row_ID,
);

/* @var modProcessorResponse $response */
$response = $modx->runProcessor('mgr/file/export', $params, array(
    'processors_path' => $path
));

if ($response->isError()) {
    die($response->getMessage());
} else {
    echo json_encode($response->response);
}
тогда подготовь массив таким образом чтобы выводились только published! и не е*и мозг!
Группируй массив по ключу
{var $plus = $_modx->resource.field_plus | fromJSON  | groupBypublished }
Сниппет groupBypublished:
<?php
function _group_by($array, $key) {
    $return = array();
    foreach($array as $val) {
        $return[$val[$key]][] = $val;
    }
    return $return;
}
return _group_by($input, 'published');
Вот так:
<?php
//define('MODX_API_MODE', true);
//require 'index.php';

/* @var modX $modx */

//Дадим права админа навыполнение процессора
$modx->user = $modx->getObject('modUser', 1);

//Данные для обновления ресурса
$data = [
    'id'=>1,
    'introtext'=>'ццццццццццццц',
    'alias'=>'index',
    'context_key' => 'web',
    'tvs' => true,// save tv
    'tv3' => 'abc', //tv +id
];

//Запускаем процессор
$response = $modx->runProcessor('resource/update', $data);

if ($response->isError()) {
    $out = $response->getMessage();
} else{
    $out = $response->response;
}


var_dump($out);
Статья про Nest.js на портале про MODX!? Зачем, для чего!? На хабре полно статей про Nest!

Может превратим тематический сайт в помойку, типа: установка WINDOWS, Centos, настройка VPS и всякие другое про IT!?

Заведи свой блог, кому будет интересно тот подпишется на тебя!
Создать сниппет модификатор toJson
<?php
return json_encode($input,JSON_UNESCAPED_UNICODE );
Потом применить модификатор: [[+products:toJson]]
[[!checkSend?
    &orderId=`[[+num]]`
    &subtotal=`[[+total.cart_cost]]`
    &phone=`[[+address.phone]]`
    &email=`[[+user.email]]`
    &products=`[[+products:toJson]]`
    &userName=`[[+address.receiver]]`
]]
Ну а далее в сниппете checkSend декодируешь обратно в массив!