Фильтрация содержимого страницы с помощью AJAX в Sitecore - PullRequest
1 голос
/ 09 марта 2010

У меня есть страница в Sitecore, которая отображает список клиентов. Есть форма с двумя полями выбора, которые должны отфильтровывать клиентов, не соответствующих указанным критериям. Список клиентов должен обновляться через AJAX каждый раз, когда пользователь меняет одно из значений в форме или после нажатия кнопки «Отправить», если JS отключен.

Какой рекомендуемый подход я должен использовать, чтобы это работало в Sitecore? Я не уверен насчет части Sitecore, я знаю, как вызывать методы AJAX /

Ответы [ 3 ]

3 голосов
/ 12 марта 2010

Я нашел решение, которое кажется немного лучше, чем то, что другие предложили здесь. Я создал новое устройство в Sitecore, создал в нем новый макет, в который я только что добавил один заполнитель. Затем я могу получить доступ ко всему контенту сайта, используя этот метод. При назначении параметра URL a=1 все URL с этим параметром автоматически перенаправляются на это устройство. Я не думаю, что это можно сделать намного проще.

1 голос
/ 11 марта 2010

Если вы используете Sitecore + ASP.NET Webforms, ваше самое быстрое / простое решение - просто использовать .NET UpdatePanel. Это не самое гибкое решение AJAX, но оно, безусловно, выполняет свою работу с минимальными усилиями. См. документацию .

Если вы используете XSL-рендеринг в Sitecore, решение будет более сложным. Скорее всего, вам потребуется создать новый рендеринг, в котором просто перечислены клиенты, а затем использовать JQuery для извлечения и замены этого раздела DOM.

0 голосов
/ 09 марта 2010

Исходя из вашего вопроса, я предполагаю, что на странице первоначально будет отображаться полный список клиентов, которые будут отфильтрованы. Если это так, вам нужно получить больше данных с сервера? Кажется, это дублирующее усилие. Вот что я бы сделал:

Создайте div для каждого клиента, с классами, представляющими категории фильтрации:

<div class="client design development">Microsoft</div>
<div class="client design">Apple</div>

Затем, когда каждый фильтр изменяется, показывайте / скрывайте div в зависимости от селекторов класса. В зависимости от целевого браузера и / или библиотеки js вы можете использовать селекторы атрибутов CSS.

...