Как прочитать URL-адрес страницы Tridion из публикации с помощью основных служб?
У меня есть список URL-адресов страниц Tridion на листе Excel, который должен быть не опубликован при нажатии кнопки, для которой я разрабатываю настраиваемую страницу. Как мне прочитать URL-адрес публикации.? Например, URL-адрес выглядит как «https://www.example.com/us/en/abc/cde/index.html» (us / en - страна / язык; abc- папка в группе структур, cde- вложенная папка в abc, index.html - это страница) Теперь index.html следует отменить.
1 ответ
Если я правильно вас понял, у вас есть URL-адрес страницы, и вы хотите найти соответствующую страницу в Tridion. Сначала плохие новости: основная служба (CM API) не поддерживает поиск по URL-адресу. Быстрый и грязный подход - использовать CD API для получения страницы. Это вернет вам страницу, у которой есть свойство ID. Затем вы можете использовать основную службу, чтобы отменить публикацию страницы.
Вы также можете сделать это с помощью чисто базового подхода к обслуживанию, но это немного больше работы и это медленно. Это выглядит так:
Начните с каталога верхнего уровня (в вашем примере "нас")
Перечислите все структурные группы внутри корня, используя такой фильтр:
var filter = new OrganizationalItemItemsFilterData(){ItemTypes = new ItemType[] {ItemType.Page},IncludePathColumn = true};
Используйте Linq, чтобы найти тот, в котором находится каталог верхнего уровня, который вам нужен
Перейдите в следующий каталог и повторите с найденной дочерней структурной группой.