Corpus restyles the most used Joomla core modules. There is nothing to install or configure for that: publish the module and it takes the shape of the template.
Related articles: Articles - Related
This module lists articles sharing a keyword with the one on screen. Publish it on sidebar-right or main-bottom.
Corpus shows the title first and the date at the end of the line, aligned right and in the size used for secondary text.
The Joomla module does the opposite: it writes 01-08-2026 - Article title. Three reasons not to keep that format, and none of them is a matter of taste.
A list is scanned by its titles, not by its dates. With every line starting the same way, the eye has to skip eight characters each time before reaching anything useful.
The dash is text. A screen reader announces "zero one dash zero eight dash two thousand and twenty six dash Table olives": the date is read out in full before you know which article this is.
A numeric date is ambiguous. 01-08-2026 does not read the same way in Paris and in Chicago. Corpus spells the month out, and adds a machine-readable date in the datetime attribute.
Useful settings: Show Date (it is what produces the right-hand column) and Number of Articles, which should stay low: a sidebar list of fifteen entries is no longer read.
The frame around a module
By default a module is framed: rule, rounded corner, light shadow, inner padding.
Two ways to remove it, and they do the same thing:
- Advanced tab, Module Style → group corpus, value no-card;
- or Module Class Suffix →
no-card.
no-rule, in the class suffix, removes the rule under the title. The two words combine: no-card no-rule.
Beware of taking the same names from the wrong group. The Module Style list groups its values by template, and Cassiopeia offers "card" and "noCard", which are spelled almost the same. Cassiopeia's bypass Corpus's markup entirely: the module then comes out with no frame, but also with no rule and none of our settings. Check the group name, it is written above them.
A shortcut that applies to the whole site. If you want frameless modules everywhere, do not set it module by module: take the Flat variant in the Theme Customizer, group Appearance → Shape. See Appearance - colour and shape.
Showing a module in a popup window
Any module can open as a panel at the right edge of the screen after a few seconds: a promotion, an exceptional closure, a registration deadline coming up.
It covers nothing and blocks nothing. No veil, no greyed-out page: the visitor keeps reading, clicking and scrolling while the announcement is there. That is a choice, and it has a price: an announcement you can ignore is more easily ignored than a window that bars the way. We preferred not to bar the way.
How. Publish the module as usual, then Advanced tab, Module Style → group corpus, value popup.
Where to put it. Position float-pos, named Floating block in the list. Corpus renders it at the end of the page, with nothing around it. A side column would take the panel and the icon down with it when it folds away on a phone.
Three things the template does not ask you again, because Joomla already does them:
| what you want | where it is set |
|---|---|
| the announcement on the home page only | the module's menu assignment |
| the announcement for one week | the start and finish publishing dates, Publishing tab |
| one announcement per language | the module's language |
On a multilingual site, make one module per language and give each its own: Joomla shows only one, and every visitor gets the announcement in their language.
The delay before opening
One setting, in the Theme Customizer, group Appearance → Modules: Popup: delay before opening, in seconds, 3 by default.
Zero opens the window on load. That is not advisable: it cuts reading short before it begins, and search engines penalise windows that cover the page on arrival on a phone.
What the visitor sees: three sizes, and the announcement never disappears
The announcement does not close, it folds away. That is the point to grasp, and everything else follows from it. These are three sizes of the same panel, in the same place, each one fitting into the next.
1. The full panel. It opens once per visit, after the delay you set, flush against the right edge. It carries the module title and its content, buttons included. On a phone it sits at the bottom, above the toolbar.
2. The title alone. Folding the first one away does not lose the announcement: a narrow card remains at the same edge, with the module title. Clicking the title reopens the full panel; the cross goes down one more notch.
3. The icon. The last fold: a square at the right edge, below the theme button, and at the bottom of the screen on a phone with the other tools. It reopens the full panel, and the loop starts again.
The state follows the visitor from page to page for as long as the session lasts. Anyone who closed it too fast can get back what they did not have time to read, without the announcement jumping at them on every page. When the tab is closed everything is forgotten: a visitor coming back tomorrow sees it once more.
On a phone the middle step does not exist: you go straight from the full panel to the icon. A title strip at the edge of a small screen eats into reading to repeat what has just been read, and the bottom toolbar already occupies the thumb.
If you hide the module title, the title-alone step has nothing to show, so it is skipped too. Corpus does not put back a title you chose to hide.
Nothing to declare in your cookie banner
Corpus writes no cookie for this. It uses the browser's session storage, which is cleared with the tab and never leaves the visitor's machine. See The consent banner.
Two limits worth knowing
One popup per page. If two modules carry the popup style, only the first opens. Two modal windows stacked on each other are not a possibility, they are a defect.
Without JavaScript nothing shows: neither the window nor the reminder button. Information a visitor's decision depends on must therefore also exist elsewhere on the site, in an ordinary page or module.
What is done for accessibility
The module title names the panel, which is a landmark region: a screen reader lists it among the other landmarks of the page, and announces it politely when it appears, without interrupting whatever is being read.
The panel never takes the keyboard. That is the counterpart of blocking nothing: stealing focus from someone who is reading or filling in a field would be worse than anything. Esc folds one notch away, but only when the keyboard is already inside the panel, otherwise it would be taken from a visitor busy elsewhere.
When the visitor folds it away themselves, focus follows one notch: it never goes back to the top of the page. The cross is 40 px square, well beyond the required minimum, and the entrance animation disappears if the system asks for reduced motion.
The menu in a side column
Publish a Menu module on sidebar-left or sidebar-right: the same menu as in the top bar takes a vertical layout, with nothing for you to set.
What changes compared with the bar: entries read one below the other, separated by a rule; the current entry is marked on the left rather than underneath, because that is the edge the eye follows in a vertical list; and sub-menus unfold in place instead of floating over the content.
The keyboard behaves identically: Arrow Down opens, Escape closes one level at a time and returns focus to the button, Arrow Left moves up one level.
An entry's pictogram is set in Menus → your item → Link Type tab → Link Image Class. Write the name of a Corpus pictogram there, for example i-accueil. An unknown name breaks nothing: it simply places no pictogram.
Popular tags
The Tags - Popular module outputs bare links. Corpus gives them the shape of the site's tags - pictogram included - so a reader recognises them from one page to the next.
If you switch the counter on, it appears in brackets inside the tag, and its full wording is still announced to screen readers.
Latest articles, and the other lists
The Articles - Latest module, like Most Read, Archived or Categories, outputs a list of titles. Corpus styles them all the same way - one entry per line, separated by a rule - because they show the same thing: titles that lead somewhere.
So there is nothing to set: a list module published today or in six months will take the same shape.
The Articles module
This is the module Joomla rebuilt most recently, and the most complete one: on its own it replaces several older modules. Corpus styles both of its layouts.
As a list, one entry per line, separated by a rule.
As a grid, each article becomes a card: image on top, title, then whichever details you switched on. The Number of Columns setting is honoured to the letter: ask for three columns and you get three, and the grid folds by itself once the columns become too narrow.
To see images you have to switch them on: Images tab, Intro Image or Full Image. Without that setting, articles come out with no photo whatever the layout.
The magazine view, specific to Corpus
One large thumbnail on one side, two small ones on the other. It is a front-page layout, meant to open a home page.
It is not installed and not ticked: you ask for it with a word in the Module Class Suffix, Advanced tab.
| What you write | What you get |
|---|---|
corpus-magazine |
The large thumbnail on the left, the two small ones on the right. |
corpus-magazine-droite |
The large thumbnail on the right, the two small ones on the left. |
The word combines with the others: corpus-magazine no-card, for instance.
The order of the articles
Article no. 1 is always the one at the top left. That is the reading order, and it is the module's order: the first article in your sort is the first one the eye meets.
As a result the large thumbnail is not the same article in each direction:
corpus-magazine: the large one is on the left, so it is article 1;corpus-magazine-droite: the large one is on the right, so it is the last.
The four settings that matter
The magazine view is a piece of styling, not a separate module: everything it shows comes from the module's own settings. Four of them make it, or break it.
- Number of articles: 3. The view is calibrated for three. Beyond that, the extra ones stack in the small column without the large one following.
- Images: on (Images tab). A magazine view with no photo has no point.
- Intro text: off. Introductory text unbalances the thumbnails: one has some, the other does not.
- Tags, category, date, author: off. They lengthen one thumbnail and not the other, and the images stop lining up.
These items are not hidden by the template, and that is deliberate: content hidden in CSS is still read out by a screen reader, which would then announce information nobody can see. They are settings, and they belong in the module.
On a phone
The three thumbnails stack, all the same size, in the module's order. The fold is triggered by the width of the module, not of the screen: a magazine view placed in a narrow side column will therefore stack on a large screen too. That is intended: the mosaic only makes sense at full width.
Accessibility
The whole thumbnail is clickable, but it counts as a single tab stop: the title's link is what stretches across the surface. Two links to the same page would be one more stop on the keyboard and nothing gained.
The title stays below the image, never laid over it. A title on a photo depends on the contrast of that particular photo, which nobody controls on a site filled in day after day.
No hover effect. A movement triggered by the pointer carries no information, it disturbs motion-sensitive readers, and it moves a target while it is being aimed at.
The login module
Publish Login in a side column. The form takes Corpus's fields, and the Log in button the site's accent.
The eye that reveals the password is Joomla's, restyled: it lives inside the field, not beside it. Revealing a password acts on the field itself; it is not an action separate from the form.
The language switcher
Publish Language Switcher on search, the area to the right of the navigation bar, and the flags line up there. The module only appears if the site is multilingual: you need a second content language and the Language Filter plugin enabled.
Corpus styles both of the module's modes, but one is better than the other.
A flag is not a language. The Belgian flag does not say whether the page is in French or Dutch; a Spanish speaker in the Americas is not Spanish. If your languages do not map exactly onto countries, untick Use image flags: the module then writes each language's native name, and nobody has to guess.
Either way the native name is present, as the image's alternative text, or spelled out. The module is never silent to a screen reader.
The current language is marked by a background and an outline, not by colour alone, and it is announced as current to screen readers.
Up to date for Corpus 2.1.43.