<data:eventrepeater>
AJAX
Data
ATTRIBUTES
EXAMPLES
Forms
Layout
Logic
Navigation
Personalisation
Standard
Templates
Regions
Third Party

<data:eventrepeater> </...>

Repeats an Event template to show Events.

Used in place of a <data:repeater>, to provide administrators with an improved page editing experience, by allowing the control attributes to be changed via options presented in the page editor left panel.

To edit the default template used to render Events:
  • Navigate to Dashboard > Website > Designs
  • Click 'Dynamic Displays' located underneath a website design, followed by 'Events List'

Attributes

dataFilter
array
A Filter Array which will be used to filter results from the datasource.
dataJoins
array
Data Joins

Array of tables to join with, if datasource is a function that supports a Query Array.
dataLimit
int
Data Limit defines the Maximum number of rows to be displayed.
This value is superceeded by paging and pagingrows
dataOrder
array
Data Order
dataSearch
string
Filter results to match those found by this search query.

Typically used with a <forms:searchbox id="searchbox" /> in an ajax:region.
Eg: datasearch="[? $searchbox.getValue() ?]"
dataStart
int
The number of results to skip
eventCategory
string
EventCategory

Integer or comma separated list of integers representing the Event Category ID/s.

Defaults to all categories.
eventFilter
string
EventFilter

Named filter to apply to the Event list.

Options are: past, future
eventOrder
string
EventOrder

Named order to apply to the Event list.

Options are: date_asc, date_desc
Default: date_desc
id
string
Give this control a unique id. Can be accessed in the client DOM (eg, document.getElementById('myid') or in the server DOM using [? $myid ?] or [? $('myid') ?]).
paging
bool
Whether to enable paging for this control. With paging enabled, the initial number of results will be limited to the value of pagingrows, and a 'Show More' button will appear.
Each click of the button will append pagingrows more rows. Default = false.
pagingRows
int
Use in conjunction with paging, to control the initial number of rows to be shown, and the number of rows loaded when 'Show More' is clicked. Default = 10.
templateRegionsShown
string|null
Template Regions Shown

Each template type defines a number of available regions which can be shown or hidden within a template.

Templates are populated with a $templateRegionsShown array which contains a key for each defined region, and a value representing whether that region should be shown.

The template may then use logic to show or hide regions based on the values in this array.

When the TemplateRegionsShown attribute is specified, it accepts a comma-separated list of region names. These regions will have their $templateRegionsShown['region_name'] value set to true, and all other region values will be set to false.

If this attribute is omitted, all regions $templateRegionsShown value will be set to true.

An empty string will be treated as if no regions were specified, so all $templateRegionsShown values will be set to false.

Regions defined for each templateType:
list
icon date time price location short_description places_available rsvp_deadline rsvp
templateType
string
(Required) The template type.

Possible Template Types: list
variant
string
Template display variant

Variants defined for each templateType:
list
boxy card wide

Examples

Display All Events

HTML:

<data:eventrepeater paging="true" pagingrows="10" templatetype="list" variant="card" />

DataStart and DataLimit Attributes

Allows you to show from a record, to a record. Behaves like the LIMIT clause in SQL.

HTML:

<h1>Show the First Three Events</h1> <data:eventrepeater templatetype="list" variant="card" datalimit="3" /> <h1>Show the Second and Third Events</h1> <data:eventrepeater templatetype="list" variant="card" datastart="1" datalimit="2" /> <br /><br /> datastart="1" datalimit="2" behaves the same as SQL's LIMIT 1 2

Event Filtering

The 'eventfilter' attribute is a quick way to add a predefined filter to you events display. For more complex filtering, use datafilter.

HTML:

<h1>Filter Events by Date Using EventFilter</h1> <data:eventrepeater templatetype="list" variant="card" eventfilter="future" /> <h1>Filter Events by Date Using DataFilter</h1> <data:eventrepeater templatetype="list" variant="card" datafilter="[? [['event_start_datetime', '>', date('Y-m-d H:i:s', strtotime('-24 hours'))]] ?]" />

Event Ordering

The 'eventorder' attribute is a quick way to add predefined ordering to you events display. For more complex ordering, use dataorder.

HTML:

<h1>Specify the order of events using eventorder</h1> <data:eventrepeater templatetype="list" variant="card" eventfilter="future" eventorder="date_asc" /> <h1>Specify the order of events using dataorder</h1> <data:eventrepeater templatetype="list" variant="card" eventfilter="future" dataorder="[? [['post_date', 'asc']] ?]" />