SoccerSAPIScorecenter
Modules

Using Modules

Modules can be added in more than one way. The best placement depends on whether the block belongs to a page layout, the whole site, or one specific article.

The 4 main ways to use modules

1. On normal pages

Use page modules for content that belongs to one static page such as the homepage, contact page, about page, or a custom landing page.

Typical examples:

  • Hero block on the homepage
  • FAQ on a contact or help page
  • News feed on a section landing page
  • CTA and comparison blocks on a commercial page

How to do it:

  1. Open Pages
  2. Select the page you want to edit
  3. In the target region, click Add Module
  4. Choose the module and adjust its settings

If you need side-by-side content inside the page body, you can also add a Grid container with 2 or 3 columns and then place modules inside each column.

2. On dynamic templates

Use template modules when the same layout should repeat automatically across many URLs.

Typical examples:

  • Match header, events, lineups, and stats on every match page
  • Team squad and fixtures on every team page
  • Standings and top scorers on every league page

This is the right choice when you want one layout that scales across many entities.

3. In global layout slots

Use global layout modules when the content should appear across the site, not only on one page.

Current global slots are:

SlotBest for
Top BarUtility links, notices, compact social or nav items
Below HeaderLive ticker, secondary nav, sponsorship strip
Above FooterNewsletter, related content, partner logos
Bottom BarLegal notices, compliance text, persistent promos

How to do it:

  1. Go to Settings → Global regions
  2. Edit the slot you want
  3. Add, remove, or reorder modules
  4. Save the layout

This screen is now dedicated to shell regions only. Normal pages and templates are managed separately in Pages.

Use global slots sparingly. They are powerful, but too many site-wide blocks can make every page feel heavy.

4. Inside news articles

This is the most flexible option for editorial work.

In the article editor, the rich text toolbar includes a Modules button. It opens a searchable catalog grouped by category. When you choose one, the editor inserts the correct shortcode for you automatically.

On the public site, that shortcode is rendered as a real module inside the article body.

The picker also includes Layout shortcuts for article grids, so one story can contain a 2-column or 3-column section with widgets or mixed content.

Some modules also expose a Display choice at insert time. For example, Match Lineups can be inserted as:

  • Widget — normal boxed module rendering
  • Text — inline editorial prose inside the article flow

When a module supports a text-style output, the shortcode inserter shows that option before insertion instead of forcing editors to remember a custom shortcode.

Make article insertion faster with Data context

In the news editor sidebar, articles can store a shared Data context.

This lets you define IDs once for the story, such as:

  • match
  • team
  • league
  • player
  • season
  • bookmaker
  • broadcast

This lets you mix text and modules like this:

  • Opening paragraphs
  • Match summary module
  • More analysis
  • Standings table
  • CTA or newsletter block
  • Closing paragraphs

The editor can also help you find the right references:

  • search leagues and teams
  • search players by name
  • pick a fixture from the selected team or league context

You do not need to write the shortcode yourself. If a module needs a match, team, league, or player ID, the editor uses the article's saved context when available and only asks when the ID is still missing.

Best uses for modules inside articles

Modules inside article bodies work especially well when the reader needs live or structured information without leaving the story.

Good examples:

  • match-summary in a match report
  • match-stats in a tactical analysis
  • league-standings in a title-race article
  • team-players in a squad breakdown
  • a 2-column grid with analysis on one side and live data on the other
  • video-embed or match-highlights in a recap
  • newsletter, poll, or share-buttons near the end of a long read

If a module supports Display -> Text, you can also use the same module on normal pages or templates when you want it to read like part of the page content instead of a standalone widget card.

Article body vs article template

It helps to separate these two:

Use this when…Best place
The module belongs to one specific storyInside the article body
The module should appear on every article pageArticle template

Examples of article-template modules:

  • news-post for the article itself
  • Author box after the story
  • Context news in the sidebar or below the story
  • Newsletter signup near the bottom
  • Share buttons in a consistent place

Examples of article-body modules:

  • Match standings only in one article
  • Comparison table for one feature
  • Promo code block for one campaign

Presets also place modules for you

You do not always need to build layouts from zero. Many page and template presets already place modules in sensible regions.

Presets are useful when:

  • You want a fast starting point
  • You are building a new page type
  • You want a standard structure before customising details

After applying a preset, you can still add, remove, or reorder modules manually.

How to choose the right placement

Use this quick rule:

  • If the block is part of the page design, add it to the page or template
  • If it should repeat across many pages, use a global layout slot
  • If it belongs to one story, insert it inside the article body

Good editorial habits

  • Keep the main story readable. Do not interrupt every paragraph with a module.
  • Use article-body modules when they add context, not just decoration.
  • Put repeated elements in templates instead of recreating them article by article.
  • Use global layout slots only for elements that genuinely deserve site-wide visibility.
  • Prefer the module picker over manual shortcode writing.

Next steps