Manage and display opening hours on your website.
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.
OpeningHours
componentThis 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.
If you found a bug or want to request a feature please file a GitHub issue.
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.