Kentico - Использование календаря для фильтрации событий системы бронирования - PullRequest
1 голос
/ 28 января 2011

У меня много проблем, чтобы разобраться с Kentico CMS, но я наконец-то подхожу к чему-то близкому. Я использую обычный движок портала и запускаю Kentico 5.5 RC2 на локальной установке.

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

1 Ответ

3 голосов
/ 29 января 2011

Есть несколько способов.

  • Пользовательский элемент управления
  • Пользовательская веб-часть
  • Параметры строки запроса

Самый простой будет последним. Или сочетание первых двух с последним. Добавьте элемент управления календаря с помощью предпочитаемого вами метода (календарь AJAX, календарь jQuery, или любой другой) и поместите его в текстовое поле. Затем запустите JavaScript, чтобы изменить строку запроса URL, которая перезагрузит страницу.

Перейдите в свойства веб-части вашего ретранслятора Kentico. В поле Content filter->WHERE condition вы можете написать стандартное предложение SQL WHERE и ввести параметры строки запроса с помощью специального макроса: {?QUERYSTRINGPARAMETERNAME?}. Например, http://url/page?myfilter=2 будет {?myfilter?}. Это сделало бы предложение WHERE примерно таким: {?myfilter?} = '' OR {?myfilter?} = SqlFieldToCompare.

Кентико утверждает, что они избегают этого макроса в целях безопасности, хотя я лично не подтвердил это. Хотя у нас работает.

Если вы использовали пользовательский элемент управления или веб-часть, вы могли бы использовать более безопасные методы обратной передачи с макросом Control (вместо вышеуказанного макроса QueryString).

Для получения дополнительной информации о макросах см. Руководство разработчика Приложение A Макросы .

...