Как я могу опубликовать страницу с помощью API TOM.net?
Можно ли опубликовать страницу с помощью API Tom.net в SDL Tridion 2011?
2 ответа
Решение
Как упомянул Нуно, используйте PublishEngine.Publish
и сослаться на синтаксис и пример
Синтаксис:
PublishEngine.Publish(
new IdentifiableObject[] { linkedComponent },
engine.PublishingContext.PublishInstruction,
new List() { engine.PublishingContext.PublicationTarget });
Сделайте что-то вроде этого:
private void Publish(IdentifiableObject item, PublicationTarget publicationTarget, bool rollBackOnFailure, bool includeComponentLinks)
{
IEnumerable<IdentifiableObject> items = new List<IdentifiableObject>() { item };
IEnumerable<PublicationTarget> targets = new List<PublicationTarget>() { publicationTarget };
PublishInstruction instruction = new PublishInstruction(item.Session)
{
DeployAt = DateTime.Now,
RenderInstruction = new RenderInstruction(item.Session)
{
RenderMode = RenderMode.Publish
},
ResolveInstruction = new ResolveInstruction(item.Session)
{
IncludeComponentLinks = includeComponentLinks
},
RollbackOnFailure = rollBackOnFailure,
StartAt = DateTime.MinValue
};
PublishEngine.Publish(items, instruction, targets);
}
** Содержание скопировано из блога " Как публиковать материалы программно"
Использование PublishEngine.Publish
, следуйте за Intellisense оттуда. Вам нужно будет предоставить инструкции по визуализации и разрешению, а также обычные детали, такие как цель, дата / время начала и т. Д.
В документации есть примеры, в разных блогах есть примеры, и Visual Studio должна помочь вам найти то, что вам нужно.