AgendaList
This snippet displays events in a list.
Properties
It uses the following snippet properties:
Property | Description | Default |
---|---|---|
active | Since 1.6.3 If this option is disabled, the active status of an event is not regarded. | 1 (Yes) |
ajax | Since 1.4.0 If set, the snippet output will be directly returned to the browser as a JSON result when the page is requested with the same value in the ajax request parameter. | 0 (No) |
allowedRequestKeys | Comma-separated list of request keys, that can be used to filter the displayed events. Defaults to all allowed. | - |
calendars | Comma-separated list of aliases of calendars to filter the displayed events. | - |
categories | Comma separated list of aliases of categories to filter the displayed events. | - |
categoryTpl | Name of a chunk that contains the template of one category in the category list of an event. | tplAgendaEventCategory |
contexts | Comma separated list of context keys to filter the displayed events. | - |
daterangeFormat | Format of the daterange displayed in an event. | - |
daterangeSeparator | Separator in the daterange displayed in an event. | - |
detailId | ID of a resource containing an AgendaDetail snippet call. | - |
durationParts | Number of detail parts of the event duration output. | 1 |
durationRound | Since 1.5.0 Rounding type for event duration. | ceil |
emptyTpl | Name of a chunk that contains the template for an empty list of events. | tplAgendaEventEmpty |
end | The end date to filter the displayed events. Must contain a supported date and time format. | today +1 month 0:00 |
events | Comma separated list of event IDs to filter the displayed events and their repeats. Supersedes the repeats property. | - |
excludeEvents | Comma separated list of event IDs to exclude from the displayed events. | - |
excludeRepeats | Comma separated list of repeating event IDs to exclude from the displayed events. | - |
groupby | Since 1.5.0 xPDO group by clause to filter the events. | - |
imageTpl | Name of a chunk that contains the template for one image in the image list of an event. | tplAgendaEventImage |
limit | Limit the number of events in the result. Use "0" for unlimited events. | 20 |
listId | ID of a resource containing an AgendaList snippet call. | - |
locale | The locale for the displayed formatted date. Defaults to the current system/context locale setting. | - |
locations | Comma separated list of aliases of locations to filter the displayed events. | - |
locationTpl | Name of a chunk that contains the template for the location of an event. | tplAgendaEventLocation |
offset | The offset of events to skip. | - |
outputSeparator | An optional string to separate each tpl instance. | - |
repeats | Comma separated list of repeating event IDs to filter the displayed repeating events. Overridden by the events property. | - |
resourceTpl | Name of a chunk that contains the template for the linked resource of an event. | - |
sortby | Sort field for sorting the output. It can also contain a JSON object to sort the ouput by multiple fields like {"AgendaEvents.title":"ASC","all_startdate":"ASC"}. |
all_startdate |
sortdir | Sort direction for sorting the output. Unused when the sortby property contains a valid JSON object. | ASC |
start | The start date to filter the displayed events. Must contain a supported date and time format. | today 0:00 |
toPlaceholder | If set, the snippet result will be assigned to this placeholder instead of outputting it directly. | - |
totalVar | The key of a placeholder that indicates the total number of events. | agendalist.total |
tpl | Name of a chunk that contains the template for one event. | tplAgendaEventRow |
usergroups | Comma separated list of user group names to filter the displayed events. | - |
users | Comma separated list of user IDs to filter the displayed events. | - |
videoTpl | Name of a chunk that contains the template for one video in the video list of an event. | tplAgendaEventVideo |
where | Since 1.5.0 JSON encoded xPDO where clause to filter the displayed events. | - |
wrapperTpl | Name of a chunk that contains the wrapper template for all events. | tplAgendaEventWrapper |
Placeholders
The following placeholders are available in the different (default) chunks. Each
snippet property will be set as placeholder in each template chunk, i.e. a
snippet call [[!AgendaDetail? &subtitle=`whatever`]]
will fill the
placeholder subtitle in each used chunk with the value whatever
.
CAUTION: The default template chunks for both snippets are overwritten during each package update, so please rename the chunks before editing them.
tplAgendaEventRow
Placeholder | Description |
---|---|
allday | Contains 1 if the event is an all day event (otherwise 0). |
calendar_background | The background color of the calendar of the event. |
calendar_foreground | The foreground color of the calendar of the event. |
calendar_name | The calendar name. |
categories | All categories of the event formatted by the chunk set with the categoryTpl property |
content | The content of the event. |
description | The description of the event. |
detail_url | The url that shows the event detail. Will be generated with the system/context setting agenda.detail_id . This resource should contain an AgendaDetail snippet call. |
duration | The formatted duration of the event. The details of the duration can be set with the durationParts snippet property. |
enddate | The start date of the event formatted in ISO 8601 (can be formatted i.e. with [[+enddate:strtotime:date=`%a. %d.%m.%Y`]] ). |
idx | The number of the event starting with 1. |
images | All images of the event formatted by the chunk set with the imageTpl property |
imageurls | An array of all image urls. The placeholder [[+imageurls.1]] contains the url of the first image |
location | The location of the event formatted by the chunk set with the locationTpl property |
range | The formatted date range of the event. The format is defined with the lexicon entries agenda.php_format_daterange and agenda.php_format_separator and can be overridden by the daterangeFormat snippet property. The format rules are described below. |
repeating | Contains 1 if the event is an repeating event (otherwise 0). |
repeating_id | The id of the event date if the event is a repeating event. |
resource_id | The id of a linked resource of the event. |
startdate | The start date of the event formatted in ISO 8601 (can be formatted i.e. with [[+startdate:strtotime:date=`%a. %d.%m.%Y`]] ). |
title | The title of the event. |
videos | All videos of the event formatted by the chunk set with the videosTpl property. |
videourls | An array of all video urls. The placeholder [[+videourls.1]] contains the url of the first video. |
Extended fields are available as placeholder with the prefix extended
in the
event row template.
If the tpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
tplAgendaEventWrapper
Placeholder | Description |
---|---|
count | Count of the events filtered by the snippet properties (without limit/offset) |
output | All events collected by the snippet separated by the string in the outputSeparator property |
If the wrapperTpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
tplAgendaEventEmpty
Only the current script properties are available as placeholders.
If the emptyTpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
tplAgendaEventCategory
Placeholder | Description |
---|---|
alias | The alias of the category. |
background | The background color of the category of the event. |
foreground | The foreground color of the category of the event. |
name | The name of the category. |
resource_id | The id of a linked resource of the category. |
selected | Contains selected="selected" , when the category request value is equal to the alias of the category. |
url | The url that shows the event list filtered by the displayed category. Will be generated with the system/context setting agenda.list_id . This resource should contain an AgendaList snippet call. |
If the categoryTpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
tplAgendaEventImage
Placeholder | Description |
---|---|
description | The description of the image. |
idx | The number of the image starting with 1. |
title | The title of the image. |
url | The url that shows the event image. |
If the imageTpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
tplAgendaEventLocation
Placeholder | Description |
---|---|
address | The address of the location. |
alias | The alias of the location. |
center_lat | The latitude of the center of a map of the location. |
center_lng | The longitude of the center of a map of the location. |
description | The description of the location. |
lat | The latitude of the location. |
lng | The longitude of the location. |
name | The name of the location. |
resource_id | The id of a linked resource of the location. |
selected | Contains selected="selected" , when the location request value is equal to the alias of the location. |
zoom | The zoom level of a map of the location. |
If the locationTpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
tplAgendaEventVideo
Placeholder | Description |
---|---|
description | The description of the video. |
idx | The number of the video starting with 1. |
title | The title of the video. |
url | The url that shows the event video. |
If the videoTpl
property contains a not found chunk, all possible placeholders are displayed with print_r.
Range placeholder format
The range
placeholder can be formatted with the lexicon entries
agenda.php_format_daterange
and agenda.php_format_separator
or the snippet
properties daterangeFormat
and daterangeSeparator
. The format string has to
use exactly 7 parts separated by |
. The default english lexicon entry is
j.| F |Y|, |g|:i a|
.
The daterrange is formatted with the following rules:
- If both dates are different and the hour/minute of start and end is 0, parts 4-7 are removed from start and end date.
- If both dates are different and the hour/minute of start and end is 0 and year of start and end is equal, parts 4-7 are removed from start and end date and part 3 is removed from start date.
- If both dates are different and the hour/minute of start and end is 0 and year and month of start and end are equal, parts 4-7 are removed from start and end date and parts 2-3 are removed from start date.
- If both dates are different and the hour/minute of start and end is 0 and year, month and day of start and end are equal, parts 4-7 are removed from start and end date and parts 1-3 are removed from start date.
- If both dates are different and the hour/minute of start and end is not 0 and one detail of year, month and day of start and end is not equal, all parts are used in the start and end date.
- If both dates are different and the hour/minute of start and the hour of end is 0 and all details of year, month and day of start and end are equal, parts 4-7 are removed from start date.
- If both dates are different and the hour or minute of start or the hour of end not 0 and all details of year, month and day of start and end are equal, part 7 is removed from start date.
- If both dates are equal and the hour/minute of start is 0, part 4-7 is removed from the start date and separator and end date are removed.
- If both dates are equal and the hour/minute of start is not 0, separator and end date are removed.