All Low add-ons are now owned by EEHarbor. Read the blog post.
All add-ons

Low Events

Just $49.00 per license

Compatibility: EE2, EE3, EE4, EE5
Latest release: 2.1.0 (released 2017-12-05)
Licensing: Commercial License Agreement

Entries Tag

{exp:low_events:entries channel="events" date="{segment_2}"}
  <h2>{title}</h2>
  <p class="meta">{event_dates:start_date}</p>
  {event_description}
{/exp:low_events:entries}

The Entries tag will help you display upcoming events as well as events per year, month, week, or day. It supports all channel:entries parameters and variables. What events are fetched depends on the parameters set. Check the Fieldtype variables for a reference what variables can be used for the fieldtype. For displaying single events, you could also just use the native channel:entries tag.

Parameters for the Entries tag pair
Parameter Description
anniversaries Set to yes to treat event dates as anniversaries (years are ignored). This will also only show All Day events.
date The date to work with, either a year (YYYY), month (YYYY-MM), week (YYYY-Www, the ISO week date), or day (YYYY-MM-DD). The tag will display events by the date given. If no (valid) date is given, today is assumed and all upcoming events will be displayed. You can use a ; to separate start and end dates for a custom date range.
date_from When using unit="custom", use this parameter to define the start date for the custom date range.
date_to When using unit="custom", use this parameter to define the end date for the custom date range.
events_field The short name of the Low Events field. Not needed if there’s only one Low Events field present.
orderby By default, all events listed are ordered by their start date/time. To change this to the end date/time, use the value low_events:end.
Note that it is currently not possible to combine this value with other values in the parameter.
show_active Set to no to exclude active events.
show_passed Set to no to exclude passed events.
show_upcoming Set to no to exclude upcoming events.
unit Setting this parameter will always display events per given unit, regardless of what type of date was given in the date parameter. Possible units are year, month, week, day, passed, active, upcoming, all or custom for custom date ranges.

Custom date ranges

There are two ways to define a custom date range: using just the date parameter or using both the date_from and date_to parameters. The former combines the two dates in one parameter value, separated by a ;. When using a custom date range, the date values can be any supported date and time format. For example, these two examples will give you events for the next three weeks:

date="now;+3 weeks"
unit="custom" date_to="+3 weeks"

These two examples will give you events from yesterday to tomorrow:

date="yesterday;tomorrow"
unit="custom" date_from="-1 day" date_to="+1 day"

Entry IDs Tag

{exp:low_events:entry_ids channel="events" date="{segment_2}"}

The Entry IDs tag works identically to the Entries tag, but this will only return a list of entry IDs, separated by a given separator. When used as a tag pair, you can use the variable {low_events:entry_ids} to output the list. Additional parameters are:

Additional parameters for the Entry IDs tag pair
Parameter Description
separator The character used to separate the entry IDs. Defaults to |.
no_results If defined, the tag will return its value when there are no matching entry IDs. This value will override the {if no_results} conditional.

Archive Tag

{exp:low_events:archive channel="events" show_passed="no"}
  {if count == 1}<ul>{/if}
    <li>
      <a href="{path="events/{date_url}"}">
        {month} {year} ({num_events})
      </a>
    </li>
  {if count == total_results}</ul>{/if}
{/exp:low_events:archive}

The Archive tag will display a list of months based on the events. It is similar to the native Archive Month Links Tag, but it uses the event dates to generate the list.

Parameters for the Archive tag pair
Parameter Description
author_id The author ID to limit the events by.
category The category ID to limit the events by.
channel The channel name to limit the events by.
channel_id The channel ID to limit the events by.
entry_id The entry ID to limit the events by.
events_field The short name of the Low Events field to use for the archive. Not needed if there’s only one Low Events field present.
lang The language pack used for the dates. Defaults to the default site or member language.
limit Maximum amount of units to return.
offset Amount of units to skip from the beginning.
search:field_name Use to constrain events based on the content of channel fields. Works like its Channel:entries counterpart.
show_expired Set to yes to include expired entries. Note: this applies to the entry’s expiration date, not the event end date.
show_future_entries Set to yes to include future entries. Note: this applies to the entry’s entry date, not the event start date.
show_active Set to no to exclude active events.
show_empty Set to yes to display months/years without events in between the first and last one.
show_pages Use to filter out pages or only show pages. Works like its Channel:entries counterpart.
show_passed Set to no to exclude passed events.
show_upcoming Set to no to exclude upcoming events.
sort Set to desc to show a descending list of months. Defaults to asc.
status The entry status to limit the events by. Defaults to open.
unit Either month or year, which will either display a monthly or a yearly archive. Defaults to month.
url_title The entry url title to limit the events by.
Variables for the Archive tag pair
Variable Description
{date_url} The URL-safe code of the unit, e.g. 2012-01 for a month, 2012 for a year.
{month} The full name of the month, e.g. January
{month_num} The number of the month with leading zero, e.g. 01
{month_short} The short name of the month, e.g. Jan
{month_num_short} The number of the month without leading zero, e.g. 1
{num_events} Total number of events present in the unit.
{unit} Either month or year, depending on the parameter given.
{year} The 4-digit year, e.g. 2012
{year_short} The 2-digit year, e.g. 12

Calendar Tag

{exp:low_events:calendar channel="events" date="{segment_2}"}
  <table>
    <caption>
      <a href="{path="events/{prev_month_url}"}" title="{prev_month format='%F %Y'}">&larr;</a>
      <a href="{path="events/{this_month_url}"}"><strong>{this_month format="%F %Y"}</strong></a>
      <a href="{path="events/{next_month_url}"}" title="{next_month format='%F %Y'}">&rarr;</a>
    </caption>
    <thead>
      <tr>
        {weekdays}<th scope="col">{weekday_1}</th>{/weekdays}
      </tr>
    </thead>
    <tbody>
      {weeks}
        <tr{if is_given_week} class="given-week"{/if}>
          {days}
            <td class="{if is_current}current{/if}{if is_given} given{/if}{if is_today} today{/if}">
              {if events_on_day}
                <a href="{path="events/{day_url}"}">{day_number}</a>
              {if:else}
                <span>{day_number}</span>
              {/if}
            </td>
          {/days}
        </tr>
      {/weeks}
    </tbody>
  </table>
{/exp:low_events:calendar}

Use the Calendar tag to create table-based monthly calendar with links to days of the month. No entries are displayed using this tag, so it’s like the Archive tag, but in Calendar format.

Parameters for the Calendar tag
Parameter Description
anniversaries Set to yes to treat event dates as anniversaries (years are ignored). This will also only show All Day events.
author_id The author ID to limit the events by.
category The category ID to limit the events by.
channel The channel name to limit the events by.
channel_id The channel ID to limit the events by.
date The date to work with, either YYYY, YYYY-MM, YYYY-Www (the ISO week date), or YYYY-MM-DD.
entry_id The entry ID to limit the events by.
events_field The short name of the Low Events field to use for the archive. Not needed if there’s only one Low Events field present.
lang The language pack used for the dates. Defaults to the default site or member language.
leading_zeroes Set to yes to display the {day_number} variable as a two-digit, zero-padded number. Defaults to no.
search:field_name Use to constrain events based on the content of channel fields. Works like its Channel:entries counterpart.
show_expired Set to yes to include expired entries. Note: this applies to the entry’s expiration date, not the event end date.
show_future_entries Set to yes to include future entries. Note: this applies to the entry’s entry date, not the event start date.
show_active Set to no to exclude active events.
show_passed Set to no to exclude passed events.
show_upcoming Set to no to exclude upcoming events.
start_day The day of the week on which a week starts, either monday, tuesday, wednesday, thursday, friday, saturday or sunday. Defaults to monday. If the given date parameter is a week, it will be forced to the ISO week date standard: monday.
status The entry status to limit the events by. Defaults to open.
url_title The entry url title to limit the events by.
Variables for the Calendar tag
Variable Description
{this_month} The month currently displayed. Use the format="" parameter to customise the output.
{prev_month} The previous month of the one currently displayed. Use the format="" parameter to customise the output.
{next_month} The next month of the one currently displayed. Use the format="" parameter to customise the output.
{this_month_url} The URL-safe code of the given month, in a YYYY-MM format.
{prev_month_url} The URL-safe code of the previous month, in a YYYY-MM format.
{next_month_url} The URL-safe code of the next month, in a YYYY-MM format.
{weekdays}{/weekdays} Variable pair to display the weekdays (table header).
{weekday} The full weekday, e.g. Wednesday.
{weekday_short} The abbreviated weekday, e.g. Wed.
{weekday_1} The first letter of the weekday, e.g. W.
{weeks}{/weeks} Variable pair to display the weeks of the month (table rows).
{week_url} The URL-safe code to this day, in a YYYY-Www format, according to the ISO week date.
{is_given_week} If the date parameter is a week, this returns y if the week is the one given.
{days}{/days} Variable pair to use inside the {weeks} variable pair, to display the days in the week.
{day_number} The day of the month.
{day_url} The URL-safe code to this day, in a YYYY-MM-DD format.
{is_prev} Returns y if day is in previous month.
{is_next} Returns y if day is in next month.
{is_current} Returns y if day is in this month (the one displayed).
{is_given} If the date parameter is a day, this returns y if the day is the one given.
{is_today} Returns y if day is today.
{is_weekend} Returns y if day is a Saturday or Sunday.
{events_on_day} The number of events on that day.

This Date Tag

{exp:low_events:this_date
  date="{segment_2}"
  format="Upcoming Events"
  year_format="%Y"
  month_format="%F %Y"
  week_format="Week %W"
  day_format="%l %j %F %Y"
}

The This Date tag will take a date and output it in the given format.

Parameters for the Format tag
Parameter Description
date The date to apply the format to, either YYYY, YYYY-MM, YYYY-Www (the ISO week date), or YYYY-MM-DD. Defaults to today.
unit If set, this parameter will force the usage of the unit formatting, regardless of what type of date was given in the date parameter.
format The default, fallback formatting.
year_format If the date given was a year or unit is set to year, this formatting will be applied.
month_format If the date given was a month or unit is set to month, this formatting will be applied.
week_format If the date given was a week or unit is set to week, this formatting will be applied.
day_format If the date given was a day or unit is set to day, this formatting will be applied.
lang The language pack used for the date format. Defaults to the default site or member language.

Next Date Tag

{exp:low_events:next_date date="{segment_2}" unit="month" format="%F %Y"}

The Next Date tag will take a date, add a unit to it, and output it in the given format. It uses the same parameters as the This Date tag. If no unit was given, it will output the next year, month, week, or day, depending on what date was given.

Prev Date Tag

{exp:low_events:prev_date date="{segment_2}" unit="month" format="%F %Y"}

The Prev Date tag will take a date, subtract a unit from it, and output it in the given format. It uses the same parameters as the This Date tag. If no unit was given, it will output the previous year, month, week, or day, depending on what date was given.