|
|
|
|
|
|

|
Calendar
|
|
Назначение
Отрисовывает календарный навигатор. Навигация привязана к указанному списку. В основном используется для навигации по событийным спискам, то есть в которых одним из полей справочника является дата.
Ключи
| date |
Строка в произвольном формате, содержащая дату, которая отображается на календаре как текущая. При отсутствии ключа используется текущая дата.
|
| format_in |
Строка, содержащая маску разбора ключа date. Если ключ не задан, его значение устанавливается в DD.MM.YYYY. Используется для случаев, когда значение текущей даты может быть задано в нестандартном формате, например взято из внешнего источника. |
| week_starts_from |
Число от 0 до 6, обозначающее первый день недели. 0 - воскресенье, 1 - понедельник и т.д. По умолчанию используется значение 1. Естественно, что смысл имеют только значения 0 и 1. |
| start_year |
Число, обозначающее стартовый год в выпадающем списке календаря. Указывается в четырёхзначном формате. По умолчанию установлено значение 1970. |
| end_year |
Число, обозначающее конечный год в выпадающем списке календаря. Указывается в четырёхзначном формате. По умолчанию установлено значение текущего года. |
| condition |
Сложное условие, при выполнении которого будет отработана макроподстановка. Если условие не задано макроподстановка будет отработана. |
| datasource |
Строка, содержащая имя таблицы откуда брать данные для отметки событий на календаре и имя поля, содержащего дату. Значения разделёны запятой. |
| datafilter |
Фильтр, по которому перед использованием данные из таблицы, указанной в datasource, будут отфильтрованы. |
| databind |
Строка, содержащая имя поля и имя параметра в URL, разделённые знаком равенства. Значение поля, указанного слева от знака равенства, будет передано в переменной с именем, указанным справа от знака равенства, на страницу при нажатии на ссылку в календаре. |
| alias |
Строка, псевдоним страницы, на которую будут вести ссылки из календаря. Нужен в случае, если календарь размещен на странице с одним псевдонимом (например, на первой странице сайта), а справочник с событиями на странице с другим псевдонимом. |
| design |
Строка, идентификатор дизайна (id секции calendardesign) сервиса, который будет использоваться при выводе. Разные дизайны применяются (в основном) для переключения между различными языками в рамках одного проекта или для того, чтобы не переводить каждый раз стандартные сообщения при переходе от проекта к проекту. По умолчанию ключ имеет значение "russian". Подробно формат дизайна для данного макроса рассмотрен в описании файла calendar_design.xml (см. http://www.twl.ru/tsdn/macros_templates/calendar_design). |
Комментарии
Логика работы макроподстановки: берется указанный в datasource справочник, фильтруется по datafilter (например, выбираются только опубликованные новости). Из всех оставшихся записей выбирается поле, указанное в datesource. Полученный набор дат отмечается на календаре, который отрисовывается с учетом ключей, задающих текущую дату, маску, начального и конечного годов. Каждая отмеченная на календаре дата подсвечивается ссылкой, ведущей на эту же страницу. В URL страницы при переходе по этой ссылке будет передан дополнительный параметр, имя которого настраивается через ключ databind. Таким образом, после нажатия на дату можно управлять содержимым страницы с учетом выбранной даты, например показать только новости за определенное число. В приведенном примере в URL будет попадать ключ nid со значением, которое содержится в поле id записи, которая соответствует выбранной в календаре дате.
Примеры
$Calendar[datasource:news, date; datafilter: state=on; databind: id=nid; start_year: 2004]$
|
|
« к списку макроподстановок
|
|
|
|