Automatically show this month and next month in a perpetual calendar

One of our clients is Programming Librarian, a site for librarians to plan educational programs. Programs, like many events, are often seasonal, oriented around holidays and seasonal activities.

ECA model showing a flow creating a custom block that loads a block for this month and next month and puts them together with a gutter.

The site has a block for each month of the year, containing content for that month. It has a custom field for the month number.

For the home page, we used Drupal's Events, Conditions, and Actions (ECA) module to automatically combine the block for this month with the block for next month, as a new block. Then we were able to simply drop the combination block on the home page.

Now whenever you visit the home page, you always see this month and next month, and the staff don't have to think about changing this each month!

Advent 2024 -- 24 days of Automations

Door number 7
7
Door number 10
10
Door number 14
14
Door number 19
19
Door number 6
6
Door number 17
17
Door number 1
1
Door number 4
4
Door number 16
16
Door number 22
22
Door number 3
3
Door number 21
21
Door number 5
5
Door number 2
2
Door number 11
11
Door number 9
9
Door number 15
15
Door number 12
12
Door number 8
8
Door number 13
13
Door number 18
18
Door number 20
20
Door number 23
23
Door number 24
24

Seems like you could create the first block by listing all the events matching "NOW" with a granularity of month (the Smart Date module adds date granularity to views filters) and the second block could be similar but matching "+1 month". Entirely possible the site isn't using Smart Date, but thought I would point that out as an alternate solution.

Add new comment

The content of this field is kept private and will not be shown publicly.

Filtered HTML

  • Web page addresses and email addresses turn into links automatically.
  • Allowed HTML tags: <a href hreflang> <em> <strong> <blockquote cite> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h1> <h2 id> <h3 id> <h4 id> <h5 id> <p> <br> <img src alt height width>
  • Lines and paragraphs break automatically.