Site visitors would like to see content related to a specific state/territory. To do this, we need to set up an automatically generated list of States/Territories in a block with the following features:
When we click on a term such as “ACT” we go to a term listing page that shows all content tagged or categorised with that term.
If we then select a specific article such as “Volunteering” we see the full content page.
In the sidebar of the “Volunteering” full node page we also see a “related content” block. This will pull in a list of content that’s been tagged or categorised with the same taxonomy term.
In the following exercises we'll make a “list of terms” block and then we'll make the related content block.
Next we’ll add the related content block, as per the screenshot below.
Make sure you have some Job posting content tagged with the State/Territory terms.
Follow the process outlines in Exercise 6.5 to create a new View called Related content.
Your view should look like the following screenshot on the edit View page. Note that the Advanced section has been expanded, as it is used in the next steps
The contextual filter allows us to show a list of the content with the same tags as the current content.
Expand the Advanced items on the right hand side.
Click Add next to Contextual filters.
Search for "Has taxonomy term ID" then select the checkbox.
Click Add and configure contextual filters.
Under "When the filter value is NOT available" select the "Provide a default value" option. For the Type, select "Taxonomy term ID from URL". Also check "Load default filter from term page" and "Load default filter from node page, that's good for related taxonomy blocks"
Click Apply.
Click Save on the View page.
Go to Structure → Block layout and scroll down to the “Sidebar” area.
Click the Place block button.
In the pop-up, filter by text “Related content” in the Lists (Views) category.
Click Place block.
Under Visibility settings, configure block to display on all pages except the homepage. Remember to use the <front> token as the homepage identified. You may also use “/”. In addition, filter the block to only show on the Job Posting content type.
Click Save block.
Go to the frontend of your site and check that the Related content block has been added, as in the below screenshot.
Check that you have some content in certain states/territories, so you can see how the block works.
When you click on a state (tag) on a specific article you should see a list of related content, listed by the taxonomy term. You should not see the block.
You should see the Related Content block when you view a Job posting.
While testing the Related content block, did you notice anything unusual?
The Related content block displays the article title of the currently displayed page:
Let’s remove it by adding one more Contextual Filter.
Return to editing the Related Content view.
Expand the Advanced pane and you should see the Contextual Filter Content: Has taxonomy term ID that we created earlier.
Add another contextual filter.
Search for ID (in Category Content).
Select Provide default value in the When the filter value is NOT available pane → Content ID from URL.
Under the More pane, select Exclude.
Apply the changes.
Save the View.
Test your block from the previous example. Now it should not display the current page in the block.
There are a variety of ways you could list events. For this exercise, we’ll create a simple view that shows all upcoming events.
Add in 5-10 new events (either manually or using Devel generate)
Make sure all events are published
Include events with both past dates and future dates in the Event Date field
Go to Structure → Views and edit the GovCMS Events Views view.
Customise the display
Filter out old events
In this exercise we’ll add a list of the States and Territories in the sidebar, so the page looks like the screenshot below.
Go to Structure → Views. Click + Add new View. Add in these settings:
View name: States/Territories.
Select to enable Description: A list of State and Territory terms.
Show Taxonomy terms of type State/Territory sorted by Unsorted.
Select Create a block.
Block title: States/Territories.
Display format: HTML list of Fields.
Items per block: 0.
Use a pager: Leave unselected.
Click Save and edit.
Go to Structure → Block Layout.
In the Sidebar area click the Place block button.
Find States/Territories block in Lists (Views) category and click the Place block button.
Configure block visibility settings to only display it on the Job Posting content type.
Click Save block.
Scroll down and click Save Blocks to complete.
Navigate to a Job posting content page and locate your block.
If you have extra time, challenge yourself to extend this content type by making one or more of the following changes:
Change the content type so you can add external links to registration pages
Set up the content type so you can add multiple images
Add a related field that will show the Agency that’s sponsoring the event
For this exercise, we’ll provide hints - try to configure the event listing content type without looking back on the notes/previous instructions.
First, we’ll look at a simple view to filter out past events, then we’ll make a calendar entry using templates.
In this exercise we’re going to prepare the date settings and configure the event content type to get it ready for the next exercise.
Using experience from the earlier tutorials about content types and fields, go to the Manage Fields page of the Event content type. Review fields available in GovCMS.
Move to the Manage form display page and reorder the fields in the Event content type, moving all custom fields (pattern field_[field-name]) except the Components field above the Body field. Leave the Components field below the Body.
Go to Content → Add content → Event and test the form, making further adjustments to the field position if required.
Check permissions - whenever you create a new content type, you always need to check the permissions. Allow Content Authors to create events. Ensure that site visitors can leave comments (the Comment module must be activated and configured).
This once-off step is required to ensure the website date and time is set in the correct way
Note: You can also add custom data formats via the Add format button.
Given events are in the future, we can’t use the date created date to list events. We need to add a date field. Follow instructions from earlier activities to create an event date field with these details:
Test the form by creating a new event entry. Notice the date field is in the middle of the form, but would be better placed higher up.
Change the order of fields, so the Event date is under the title.
We’d like to set up the URLs so that all events are in a /events URL path, for example a URL path could be: /events/job-fair
Hint: The Event path pattern is preconfigured in GovCMS, but if you find it different to the required pattern, then follow instructions for editing URL alias patterns. Use a pattern such as: events/[node:title]
To test your changes, create another new event. Now, the date should appear under the event title and when you publish content it will have a unique URL following the /event path.
Label | Event date |
---|---|
Field name
field_event_date
Field type
Date range
Widget
Date and time range