Sitecore: выпадающее меню поиска - PullRequest
0 голосов
/ 02 мая 2018

Надеюсь, мне нужен пример функции поиска по выпадающему списку. Не уверен, какой будет правильная терминология.

Необходимо: Два выпадающих списка и кнопка отправки. Сначала существо Страны, затем второе существо Департамента. Допустим, вы выбрали Францию ​​и HR, ниже будет отображаться контактное лицо.

Есть ли примеры чего-то подобного? Было бы неплохо иметь код в CS, тогда мой конечный пользователь мог бы добавить и связать их вместе в Sitecore. Таким образом, они могли добавить страны, которые они хотели бы, департаменты, которые они хотели бы, затем уважаемый человек, связанный с этими двумя областями.

1 Ответ

0 голосов
/ 28 мая 2018

Так что, если я вас правильно понимаю, вы берете несколько входов и получаете результаты для этой комбинации из них. Я сделаю некоторые предположения и постараюсь дать вам достаточно указаний, чтобы начать. Это займет немного объяснения.

Начиная с нуля, у нас есть шаблон Контакта, который имеет, по крайней мере, поле Страна и Отдел. Вам понадобятся шаблоны и списки элементов для каждого из этих двух полей. Вы можете получить эти значения из другого источника, но давайте пока будем проще и будем использовать списки элементов. Это звучит иерархически, поэтому я бы посоветовал вам определить свои отделы как дочерние элементы вашей страны. Какие еще поля находятся на этих предметах, сейчас не имеет значения.

Далее вы захотите сообщить выбор конечного пользователя обратно вашему экземпляру Sitecore. Я предполагаю, что вы используете Sitecore MVC, но те же принципы применяются к веб-формам.

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

Если у вас есть более конкретный вопрос об определенном аспекте этого процесса, я с удовольствием объясню.

...