209

Product support

Visit this product's website for support.

Categories

Opening Hours plugin

Manage and display opening hours on your website.

Features

This plugins allows you to store opening hours for multiple locations and display them on your website.

It makes use of the great spatie/opening-hours library. You have direct access to all of the library's features.

  • Store opening hours for multiple locations
  • Set opening hours for each day of the week
  • Add exceptions for specific dates
  • Display the opening hours on your website
  • Schema.org compatible example markup provided
Enter opening hours for multiple locations

OpeningHours component

This plugin provides only a single OpeningHours component. It can be used to display all opening hours for all locations.

[openingHours]
==
{# List all locations #}
{% for location in openingHours.locations %}
    {{ dump(location.openingHours.forWeek()) }}
{% endfor %}

{# If you have only a single location you can access it directly #}
{{ dump(openingHours.location.openingHours.forWeek()) }}

{# You can also access a specific location by its slug #}
{{ dump(openingHours.locationsBySlug['your-location'].openingHours.forWeek()) }}

Access the openingHours property on any location to have access to the full spatie/opening-hours featureset as documented in their README.

{{ dump(location.openingHours.forWeek()) }}
{{ dump(location.openingHours.forWeekCombined()) }}
{{ location.openingHours.asStructuredData() | json_encode }}
{{ location.openingHours.forDay('monday') }}
{{ location.openingHours.isOpenOn('monday') ? 'open' : 'closed' }}
{{ location.openingHours.isClosedOn('monday') ? 'closed' : 'open' }}
{{ location.openingHours.forDate(date('2020-01-01')) }}
{{ location.openingHours.isOpenAt(date('2020-10-01')) ? 'open' : 'closed' }}
{{ location.openingHours.isOpen() ? "We're open!" : "Sorry, we're closed!" }}
{{ location.openingHours.isClosed() ? "Sorry, we're closed!" : "We're open!" }}
{{ "Open until " ~ location.openingHours.nextClose(date('now')).format('Y-m-d H:i') }}
{{ "We'll open again on " ~ location.openingHours.nextOpen(date('now')).format('Y-m-d H:i') }}

Checkout the component's partials for a demo implementation.

Contributing

Bugs and feature requests

If you found a bug or want to request a feature please file a GitHub issue.

Pull requests

PRs are always welcome! Open them against the master branch. If you plan a time consuming contribution please open an issue first and describe what changes you have in mind.

1.0.6

Added french translations (thanks to @damsfx)

Oct 07, 2019

1.0.5

Added helpers to correctly sort yearly recurring exceptions to opening hours

Sep 04, 2019

1.0.4

Updated dependencies

Aug 30, 2019

1.0.3

Minor backend form updates

Jul 13, 2019

1.0.2

Added batch creation for opening hours

Jul 13, 2019

1.0.1

Initial release.

Jul 12, 2019