Создаем ресурс в 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)
Не писать ответ