Как программно опубликовать элемент в SiteCore 8.0 из службы доставки контента?

#sitecore

#sitecore

Вопрос:

В рабочей среде я хочу публиковать пользовательский контент из служб доставки контента. Я не могу получить прямой доступ к основной базе данных.

Я могу создать элемент с помощью Item Web API, но я не могу найти ни одного примера того, как опубликовать элемент.

Спасибо

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

1. Итак, вкратце, вы хотите опубликовать с CD на CM (от web до master)

Ответ №1:

Хотя не рекомендуется перемещать контент с основного на веб-сервер на CD-сервере, но вы можете сделать следующее.

Вам необходимо использовать sitecore.services.client api. Более подробную информацию о клиентском API можно найти по адресу https://sdn.sitecore.net/upload/sitecore7/75/developer’s_guide_to_sitecore.services.client_sc75-a4.pdf

Извлеките элемент, открыв HttpRequest

«http:///sitecore/api/ssc/item/?path ={путь}?база данных и язык и версия amp;includeStandardTemplateFieldsamp;includeMetadataamp;поля

Получите содержимое основной базы данных. Затем обновите его в веб-базе данных примерно так.

 Database web = Sitecore.Configuration.Factory.GetDatabase("web");
Database[] databases = new Database[1] { db };

Sitecore.Handle publishHandle = Sitecore.Publishing.PublishManager.PublishItem(item, databases, db.Languages, true, false);
 

Вам нужно исправить синтаксис, это просто направление.