#tridion #tridion-core-services
#tridion #tridion-core-services
Вопрос:
У меня есть список 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. Затем вы можете использовать основную службу для отмены публикации страницы.
Вы также можете сделать это с помощью чисто базового подхода к обслуживанию, но это немного сложнее и медленнее. Это выглядит так:
- Начните с каталога верхнего уровня (в вашем примере «us»).
- Перечислите все структурные группы внутри корня, используя такой фильтр:
var filter = new OrganizationalItemItemsFilterData() { Типы элементов = новый тип элемента[] { Тип элемента.Страница }, IncludePathColumn = true };
- Используйте Linq, чтобы найти каталог с каталогом верхнего уровня, который вам нужен
- Перейдите к следующему каталогу и повторите с найденной дочерней структурной группой
Комментарии:
1. Спасибо Quirijin, но, я полагаю, на прохождение пути действительно потребуется много времени, а у меня почти 3000 URL-адресов страниц в таблице Excel.
2. Вот почему я впервые предложил использовать CD API. Это было бы намного быстрее.