Так что, если я вас правильно понимаю, вы берете несколько входов и получаете результаты для этой комбинации из них. Я сделаю некоторые предположения и постараюсь дать вам достаточно указаний, чтобы начать. Это займет немного объяснения.
Начиная с нуля, у нас есть шаблон Контакта, который имеет, по крайней мере, поле Страна и Отдел. Вам понадобятся шаблоны и списки элементов для каждого из этих двух полей. Вы можете получить эти значения из другого источника, но давайте пока будем проще и будем использовать списки элементов. Это звучит иерархически, поэтому я бы посоветовал вам определить свои отделы как дочерние элементы вашей страны. Какие еще поля находятся на этих предметах, сейчас не имеет значения.
Далее вы захотите сообщить выбор конечного пользователя обратно вашему экземпляру Sitecore. Я предполагаю, что вы используете Sitecore MVC, но те же принципы применяются к веб-формам.
Настройте контроллер для анализа ваших параметров, country
и department
, а также форму в вашем представлении с элементами <select>
, заполненными из списков стран и департаментов. Когда селектор страны изменяется, вы можете либо перезагрузить страницу со значением, установленным в качестве параметра запроса, либо использовать AJAX, чтобы напрямую запросить ваш контроллер. Если вы структурируете модель так, чтобы она не зависела от контекста рендеринга, вы можете отправить результаты своей формы в /api/sitecore/{controllername}/{actionname}?country={values}&department={values}
и получить данные таким образом. (Если вам нужен пример типа JS, который вам необходим для этого, я могу его предоставить.) Вы можете отключить или скрыть Department <select>
до тех пор, пока он не будет выбран, чтобы пользователи не запутались, затем используйте ту же технику также установить параметр отдела / отправить это значение. Как только эти два значения будут в запросе, у вас будет достаточно информации, чтобы получить список или один контакт и отобразить эту информацию, также используя ту же технику.
Если у вас есть более конкретный вопрос об определенном аспекте этого процесса, я с удовольствием объясню.