Получение URL опубликованного элемента в SDL Tridion

Есть ли способ найти абсолютный URL-адрес опубликованного объекта в интерфейсе SDL Tridion?

Например, когда я опубликовал страницу, как я могу найти URL-адрес, по которому можно получить доступ к странице?


person bardiir    schedule 13.01.2012    source источник


Ответы (5)


Это не очень просто, в основном потому, что Tridion позволяет вам публиковать одну страницу для нескольких целей (= веб-сайтов). На самом деле страница может иметь несколько URL-адресов.

Однако лучший вариант — открыть страницу и щелкнуть вкладку «Информация». Там вы найдете путь к файлу, который может выглядеть так: \about\press\2011. Замените обратную косую черту на косую черту и добавьте имя файла страницы и расширение файла (можно найти на вкладке «Общие»). Поместите все это за корневой URL вашего веб-сайта (например, http://www.mysite.com') .

person Quirijn    schedule 13.01.2012

Несмотря на то, что он не закончен и не очень документирован, Tridion 2011 PowerTools содержит 2 кнопки: «Открыть в Staging» и «Открыть в Live».

person Nuno Linhares    schedule 18.02.2012

Если вы ищете код в своей библиотеке С# tbb, вы можете использовать свойство PublishLocationUrl для страниц и структурных групп:

StructureGroup.PublishLocationUrl или Page.PublishLocationUrl

Это вернет URL-адрес, если элемент опубликован или нет, поскольку Page и StructureGroup расширяют класс ReposityObject, я обычно выполняю проверку, чтобы увидеть, опубликован ли ReposityObject для цели, для которой публикуется страница, например:

if (PublishEngine.IsPublished(myReposityObject, myEngine.PublishingContext.PublicationTarget))
{
 // page or sg is published!
}

Примечание. Где myEngine является экземпляром объекта Engine.

Если вы делаете это в основной службе, это немного отличается, что вам нужно сделать, это создать объект PublishLocationInfo, который приводится из вашего свойства объекта Page или StructureGroup LocationInfo, как показано ниже:

PublishLocationInfo pubInfo = (PublishLocationInfo)page.LocationInfo;
return pubInfo.PublishLocationUrl;
person johnwinter    schedule 20.02.2012

Tridion предоставляет путь URL-адреса в свойстве PublishLocationUrl. Вы можете получить к нему доступ либо через TOM.NET API, либо просмотрев необработанный XML элемента, введя TCMURI в адресной строке Internet Explorer (например, tcm:4-264-64).

Но в любом случае они просто вернут часть пути URL-адреса. Вам нужно будет добавить к нему префикс с правильным базовым URL-адресом, как Quirijn уже упоминал ранее.

person Frank van Puffelen    schedule 13.01.2012

В прошлом я прибегал к расширению схем протоколов для целей публикации. Добавив туда свойство baseURL, я мог получить к нему доступ из системного кода событий (идея заключалась в том, чтобы отправить ссылку по почте утверждающему рабочий процесс). В наши дни вы можете использовать данные приложений, чтобы делать то же самое.

person Dominic Cronin    schedule 22.05.2012