Тег calendar
С помощью этого тега вы можете вывести календарь, содержащий ссылки, основанные на записях в вашем разделе. Вот пример использования "мини-календаря", который вы можете разместить на каждой странице вашего сайта:
{exp:weblog:calendar switch="calendarToday|calendarCell"}
<table class="calendarBG" border="0" cellpadding="6" cellspacing="1" summary="My Calendar">
<tr class="calendarHeader">
<th><div class="calendarMonthLinks"><a href="{previous_path=weblog/index}"><<</a></div></th>
<th colspan="5">{date format="%F %Y"}</th>
<th><div class="calendarMonthLinks"><a class="calendarMonthLinks" href="{next_path=weblog/index}">>></a></div></th>
</tr>
<tr>
{calendar_heading}
<td class="calendarDayHeading">{lang:weekday_abrev}</td>
{/calendar_heading}
</tr>
{calendar_rows }
{row_start}<tr>{/row_start}
{if entries}
<td class='{switch}' align='center'><a href="{day_path=weblog/index}">{day_number}</a></td>
{/if}
{if not_entries}
<td class='{switch}' align='center'>{day_number}</td>
{/if}
{if blank}
<td class='calendarBlank'>{day_number}</td>
{/if}
{row_end}</tr>{/row_end}
{/calendar_rows}
</table>
{/exp:weblog:calendar}
Вот пример использования "большого" календаря, в котором перечислены все записи за каждый день:
{exp:weblog:calendar switch="calendarToday|calendarCell" weblog="default_site"}
<table class="calendarBG" border="0" cellpadding="6" cellspacing="1" summary="My Calendar" width="90%">
<tr class="calendarHeader">
<th><div class="calendarMonthLinks"><a href="{previous_path=weblog/cal}"><<</a></div></th>
<th colspan="5">{date format="%F %Y"}</th>
<th><div class="calendarMonthLinks"><a class="calendarMonthLinks" href="{next_path=weblog/cal}">>></a></div></th>
</tr>
<tr>
{calendar_heading}
<td class="calendarDayHeading">{lang:weekday_abrev}</td>
{/calendar_heading}
</tr>
{calendar_rows }
{row_start}<tr>{/row_start}
{if entries}
<td class='{switch}' align='center'>
<a href="{day_path=weblog/index}">{day_number}</a>
{entries}
<div><a href="{title_permalink=weblog/index}">{title}</a> <a href="{profile_path=member/profile}">{author}</a></div>
{/entries}
</td>
{/if}
{if not_entries}
<td class='{switch}' align='center'>{day_number}</td>
{/if}
{if blank}
<td class='calendarBlank'>{day_number}</td>
{/if}
{row_end}</tr>{/row_end}
{/calendar_rows}
</table>
{/exp:weblog:calendar}
Также вы может просмотреть пример CSS, для использования с примерами календарей. Вы можете добавить этот код к вашему основному стилю, изменить его, если необходимо, или просто игнорировать его.
Параметры
Доступны все параметры стандартного тега {exp:weblog:entries}. Кроме того, следующее параметры разработаны специально для тега weblog calendar.
- leading_zeroes="yes"
- month="04" year="2002"
- show_future_entries="yes"
- start_day="sunday"
- switch="calendarToday|calendarCell"
leading_zeroes=
leading_zeroes="yes"
Если в этом параметре установлено "yes", то переменная {day_number} будет отображаться, как дополненное нолем число с двумя цифрами, например: 01, 02, 03, и т.д. Значение по умолчанию "no."
month= year=
month="04" year="2002"
Вы можете жестко закодировать месяц и год отображаемый календарем. Вы должны указать и месяц и год. Месяц должен быть определен в численной форме.
show_future_entries=
show_future_entries="yes"
С помощью этого тега вы можете указать, отображать или нет записи с "будущей" датой. Эта опция полезна для создания, например, списка событий, некоторые из которых еще не произошли.
start_day=
start_day="sunday"
Вы можете определить день недели, с которого начинается ваша неделя. Доступные значения:
- sunday
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
switch=
switch="calendarToday|calendarCell"
Этот параметр работает иначе, чем в теге weblog entries. Этот параметр дает вам возможность определить два состояния: состояние "сегодня" и "все другие" состояния. Как правило, это используется для определения двух классов CSS, которые применяются к ячейке таблицы, в которой содержаться день месяца. Если ячейка соответствует сегодняшней дате, то к ней применяется состояние "сегодня" (первое состояние), иначе применяется состояние "все другие" (второе состояние).
Параметр работает с переменной {switch}.
Парные переменные
- {calendar_heading} {/calendar_heading}
- {calendar_rows} {/calendar_rows}
- {entries} {/entries}
- {row_end} {/row_end}
- {row_start} {/row_start}
calendar_heading
{calendar_heading}
<td class="calendarDayHeading">{lang:weekday_abrev}</td>
{/calendar_heading}
Эта парная переменная используется для создания строки таблицы дней недели. Вы можете использовать одну из трех переменных, чтобы определить то, что будет отображаться для дня:
- {lang:weekday_abrev}: Однобуквенное сокращение для дня недели. т.е. П., В, и т.д.
- {lang:weekday_long}: Полный текст для дня недели. т.е. Понедельник, Вторник, и т.д.
- {lang:weekday_short}: Короткий текст для дня недели. т.е. Пн, Вт, и т.д.
Используя эти переменные можно выводить в календаре названия дней недели на подходящем для пользователя языке. Если пользователь указал язык в своем профиле, то система будет использовать его, иначе будет использоваться язык по умолчанию, указанный в панели управления.
calendar_rows
{calendar_rows}
{row_start}<tr>{/row_start}
<td class='{switch}' align='center'>
<a href="{day_path=weblog/index}">{day_number}</a>
{entries}
<div><a href="{title_permalink=weblog/index}">{title}</a> <a href="{profile_path=member/profile}">{author}</a></div>
{/entries}
</td>
{row_end}</tr>{/row_end}
{/calendar_rows}
Эта парная переменная используется для создания строк календаря.
entries
{entries}
<div><a href="{title_permalink=weblog/index}">{title}</a> <a href="{profile_path=member/profile}">{author}</a></div>
{/entries}
Эта парная переменная выводит в цикле все записи в указанном разделе (ах), которые встречаются в указанную дату.
row_end
{row_end}</tr>{/row_end}
Эта парная переменная просто определяет, какой контент будет использоваться в конце строки.
row_start
{row_start}<tr>{/row_start}
Эта парная переменная просто определяет содержимое начала строки.
Одиночные переменные
- {author}
- {comment_auto_path}
- {comment_entry_id_auto_path}
- {comment_path=weblog/comments}
- {comment_url_title_auto_path}
- {comment_tb_total}
- {comment_total}
- {date format="%F %Y"}
- {day_number}
- {day_path=weblog/index}
- {entry_id_path=weblog/comments}
- {next_date format="%m %Y"}
- {next_path=weblog/calendar}
- {permalink=weblog/archives}
- {previous_date format="%m %Y"}
- {previous_path=weblog/calendar}
- {profile_path=member/profile}
- {switch}
- {title}
- {title_permalink=weblog/archives}
- {trackback_path=weblog/trackbacks}
- {trackback_total}
- {url_title_path=weblog/archives}
author
{author}
Имя автора (screen name), если оно существует; иначе, эта переменная содержит логин пользователя. Используется в парной переменной {entries}{/entries}.
comment_auto_path
{comment_auto_path}
Эта переменная возвращает URL, установленный в настройке "URL страницы комментариев", на странице Admin > Управление разделами. В эту переменную не входят ни идентификатор записи (entry id), ни URL заголовок, или другая информация; она возвращает только URL из указанной настройки.
comment_entry_id_auto_path
{comment_entry_id_auto_path}
Эта переменная возвращает URL, установленный в настройке "URL страницы комментариев", на странице Admin > Управление разделами. Автоматически добавляется идентификатор (ID) записи. Например, этот код:
<a href="{comment_entry_id_auto_path}">my entry</a>
Будет обработан следующим образом:
<a href="http://www.example.com/index.php/weblog/comments/234/">my entry</a>
comment_url_title_auto_path
{comment_url_title_auto_path}
Эта переменная возвращает URL, установленный в настройке "URL страницы комментариев", на странице Admin > Управление разделами. Автоматически будет добавлен заголовок URL. Например, этот код:
<a href="{comment_url_title_auto_path}">my entry</a>
Будет обработан следующим образом:
<a href="http://www.example.com/index.php/weblog/comments/ice_cream/">my entry</a>
comment_path
{comment_path=weblog/comments}
URL к указанному шаблону. Автоматически добавляется идентификатор (ID) записи. Например, этот код:
<a href="{comment_path=weblog/comments}">comments</a>
Будет обработан следующим образом:
<a href="http://www.example.com/index.php/weblog/comments/234/">comments</a>
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.
comment_tb_total
{comment_tb_total}
Общее количество и комментариев и трекбэков для отдельной записи. Используется в парной переменной {entries}{/entries}.
comment_total
{comment_total}
Общее количество комментариев для отдельной записи. Используется в парной переменной {entries}{/entries}.
date
{date format="%F %Y"}
Текущая дата. Как и с другими переменными даты, эта переменная требует использовать параметр "format", для определения форматирования даты. Смотрите страницу изменяемое форматирование даты для получения дополнительной информации.
day_number
{day_number}
Номер дня месяца.
day_path
{day_path=weblog/index}
Эта переменная содержит URL, разработанный для отображения всех записей за указанный день. Как правило, указывается путь к основному шаблону, который выводит несколько записей. Например, этот код:
<a href="{day_path=weblog/index}">{day_number}
Может быть обработан следующим образом:
<a href="http://www.example.com/index.php/weblog/2003/02/17/">17</a>
entry_id_path
{entry_id_path=weblog/comments}
URL к указанному шаблону. Автоматически добавляется идентификатор (ID) записи. Например, этот код:
<a href="{entry_id_path=weblog/comments}">my entry</a>
Будет обработан следующим образом:
<a href="http://www.example.com/index.php/weblog/comments/234/">my entry</a>
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.
next_date
{next_date format="%m %Y"}
Следующая дата для календаря; т.е. следующий месяц. Как и с другими переменными даты, эта переменная требует использовать параметр "format", для определения форматирования даты. Смотрите страницу изменяемое форматирование даты для получения дополнительной информации.
next_path
{next_path=weblog/calendar}
Эта переменная содержит URL, разработанный для того, чтобы указывать на следующий месяц в календаре. Путь, как правило, указывает на текущую страницу с календарем.
permalink
{permalink}
Эта переменная содержит адрес индексной страницы сайта вместе с идентификатором (ID) записи:
http://www.example.com/235/
Кроме того, вы можете указать группу шаблонов/шаблон, а идентификатор записи будет добавлен автоматически:
{permalink="weblog/archives"}
Будет обработано как:
http://www.example.com/weblog/archives/235/
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.
previous_date
{previous_date format="%m %Y"}
Предыдущая дата для календаря; т.е. предыдущий месяц. Как и с другими переменными даты, эта переменная требует использовать параметр "format", для определения форматирования даты. Смотрите страницу изменяемое форматирование даты для получения дополнительной информации.
previous_path
{previous_path=weblog/calendar}
Эта переменная содержит URL, который разработан для указания на предыдущий месяц в календаре. Путь, как правило, указывает на текущую страницу с календарем.
profile_path
{profile_path=member/profile}
URL к профилю автора текущей записи. Используется в парной переменной {entries}{/entries}. Автоматически добавляется идентификатор записи. Используется в ссылке:
<a href="{profile_path=member/profile}">{author}</a>
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.
switch
{switch}
Эта переменная разрешает вам чередовать два значения, используемого для отображения записей на странице. Эта переменная работает совместно с параметром switch=.
title
{title}
Заголовок записи. Используется в парной переменной {entries}{/entries}.
title_permalink
{title_permalink}
Эта переменная использует "заголовок URL" как ссылку. По умолчанию это значение содержит адрес индексной страницы сайта вместе с "Заголовком URL":
http://www.example.com/my_ugly_boyfriend/
Кроме того, вы можете указать группу шаблонов/шаблон, а "url title" будет добавлен автоматически:
{title_permalink="weblog/archives"}
Будет обработано как:
http://www.example.com/weblog/archives/my_ugly_boyfriend/
Примечание: Если при создании новой записи вы не указываете "Заголовок URL" то он будет создан автоматически, на основании фактического заголовка записи. Все пробелы автоматически преобразуются в подчеркивания, и удаляются кавычки. Например, "Joe's night out" будет преобразовано в "joes_night_out".
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.
trackback_path
{trackback_path=weblog/comments}
URL к указанному шаблону. Автоматически добавляется идентификатор (ID) записи. Используется в ссылке:
<a href="{trackback_path=weblog/comments}">trackback</a>
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.
trackback_total
{trackback_total}
Общее количество трекбэков для отдельной записи. Используется в парной переменной {entries}{/entries}.
url_title_path
{url_title_path=weblog/archives}
URL к указанному шаблону. Автоматически будет добавлен "url title" (Заголовок URL). Например, этот код:
<a href="{url_title_path=weblog/archives}">permalink</a>
Будет обработан следующим образом:
<a href="http://www.example.com/index.php/weblog/archives/ice_cream/">permalink</a>
Переменная доступна для использования только внутри парной переменной {entries}{/entries}.