Создаем ресурс в MODX через процессор $modx->runProcessor('resource/create', $props)
В сети много примеров того как использовать процессор resource/create, но я не сразу нашел каким образом можно создать ресурс с дополнительными TV-полями. Оказалось все просто!
$newResProps = array(
'createdby' => $modx->user->get('id'),
'parent' => 55,
'template' => 12,
'isfolder' => 0,
'deleted' => 0,
'published' => 1,
'pagetitle' => $pagetitle,
'alias' => $alias,
'tv28' => $material_id_value, // Это ТВ-параметр. Подробнее читай ниже
'tv29' => $material_price_value,
'tv26' => $phone_value,
'tv27' => $email_value
);
$response = $modx->runProcessor('resource/create', $newResProps);
if ($response->isError()) { // Проверка на ошибки
return $modx->error->failure($response->getMessage());
}
$newId = $response->response['object']['id'];
$modx->cacheManager->clearCache(); // Очистка кэша (а может она тут и не нужна, хм...)
Подробнее о дополнительных TV-полях при создании ресурса через resource/create
В примере выше есть элементы массива с ключами tv28, tv29, tv26, tv27. Это и есть запись TV-полей. Число — это id TV-поля (находится в скобках в админке рядом с названием TV-поля)
Комментарии (0)
Не писать ответ