Как правильно создавать ресурсы через сниппет?

Добрый день. Как правильно создавать новый ресурс? Сначала думал использовать в сниппете
$modx->newObject('modResource');
Прочитал что лучше использовать процессоры MODX и тогда ресурс будет создаваться правильно без риска что плагины не смогут с ним нормально работать. Как правильно создать ресурс через процессор? Нужно ли менять в сниппете контекст или еще какие-то ньюансы?
И вопрос немного по другой теме, пробовали создавать переводы ресурса babel через сниппет? Как это можно сделать?

В конечном итоге я хочу добиться такого результата:
1. Создается ресурс в контексте web
2. Создается перевод этого же ресурса в контексте ru

Спасибо

UPD: Где лежат процессоры MODX и где про них можно почитать?
Александр
30 октября 2019, 18:16
modx.pro
1
641
0

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

Наумов Алексей
31 октября 2019, 11:24
+1
Создавать так:
$data = array();
$data['pagetitle'] = "Заголовок";
$data['alias'] = "my-page";
$data['parent'] = 123;
$data['template'] = 7;
$data['published'] = 1;

$response = $modx->runProcessor('resource/create', $data);
if ($response->isError()) {
    $modx->log(xPDO::LOG_LEVEL_ERROR, 'There was a problem to create resource...');
    $modx->log(xPDO::LOG_LEVEL_ERROR, $response->getMessage());

    return;
}

$resourceId = $response->response['object']['id'];
Можно и контекст передать, если отличный от web.

Почитать или разрозненно в интернете или смотреть исходники MODX и компонентов:
github.com/modxcms/revolution/blob/2.x/core/model/modx/processors/

p.s. Важно, для создания ресурса вы должны быть авторизованы и обладать правами на создание!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2