Вы можете сделать это с помощью API доставки.Во-первых, вам нужно создать и организовать свою группу таксономии так же, как и карту сайта.Рассмотрим следующую карту сайта в качестве примера:
- Home
- О
- Наша команда
- Управление
- Свяжитесь с нами
- Миссия и ценности
Вот как будут выглядеть таксономии в Облаке Kentico:
Модели для ваших элементов должны быть созданы с элементом таксономии, который будет служить в качестве селектора местоположения карты сайта.Когда вы извлекаете этот элемент из элемента, он выдаст вам список терминов, с которыми связан элемент.Если вы отметите два элемента с элементом (Свяжитесь с нами, наша команда), то этот элемент будет выглядеть в API:
{
"item": {
"system": {
"id": "8a9e7010-c79b-41c5-a0bc-4f20c9c233b8",
"name": "Example item - contact form",
"codename": "example_item___contact_form",
"language": "default",
"type": "example_content_model",
"sitemap_locations": [],
"last_modified": "2019-05-13T08:20:50.3173519Z"
},
"elements": {
"sitemap": {
"type": "taxonomy",
"name": "Sitemap",
"taxonomy_group": "sitemap",
"value": [
{
"name": "Contact Us",
"codename": "contact_us"
},
{
"name": "Our team",
"codename": "our_team"
}
]
}
}
},
"modular_content": {}
}
. Как видите, вы получаете информацию о кодовом имени таксономической группы иплоский список пар имени и кодового имени каждого отмеченного термина.Чтобы получить иерархическую структуру, вам нужно сделать второй вызов, чтобы получить группу таксономии, которая выдаст следующее:
{
"system": {
"id": "0b4e3da2-8699-4b4d-961c-1fe912c91570",
"name": "Sitemap",
"codename": "sitemap",
"last_modified": "2019-05-13T08:01:34.6109452Z"
},
"terms": [
{
"name": "Home",
"codename": "home",
"terms": []
},
{
"name": "About",
"codename": "about",
"terms": [
{
"name": "Our team",
"codename": "our_team",
"terms": [
{
"name": "Management",
"codename": "management",
"terms": []
},
{
"name": "Contact Us",
"codename": "contact_us",
"terms": []
}
]
},
{
"name": "Mission & Values",
"codename": "mission___values",
"terms": []
}
]
}
]
}
, которая отражает необходимую иерархию.Вы можете сравнить кодовые имена, которые вы получили от своего элемента, с положением термина таксономии в вашей группе - чтобы получить родительский термин таксономии, просто получите родительский узел JSON.Если вам нужно выяснить сам родительский элемент, вы можете снова вызвать API доставки и использовать один из фильтров массива, чтобы получить все элементы, отмеченные местоположением родительского сайта.