Template documentation

Shortcodes and usage patterns

This page documents the public shortcodes available in the visual layer. Use them in webroot/content, in templates from webroot/templates or in HTML content managed from the panel, depending on the module.

Examples are escaped as documentation, so you see the shortcode code instead of its rendered output.

Database pages

The page shortcodes are available for pages created in the Pages module. They are usually used inside templates from webroot/templates.

The Pages listing includes default fields for new language versions: page type, template, name, breadcrumb name, description and H1. The Insert defaults button in the language-version form applies the saved pattern. Text fields may use {name}, {city} or {miasto}, replaced with the current page name.

ShortcodeDescription
__LEFT__page:id__RIGHT__Page translation ID.
__LEFT__page:item_id__RIGHT__Base page item ID.
__LEFT__page:panel_title__RIGHT__Working title visible in the admin panel.
__LEFT__page:name__RIGHT__Public page name, used for title fallback.
__LEFT__page:breadcrumb_name__RIGHT__Name used in breadcrumbs.
__LEFT__page:h1__RIGHT__Page H1. Falls back to the page name when empty.
__LEFT__page:url__RIGHT__Public page URL.
__LEFT__page:image__RIGHT__SEO/OG image or the default SEO image.
__LEFT__page:description__RIGHT__Meta description.
__LEFT__page:body__RIGHT__Escaped page body.
__LEFT__page:body:raw__RIGHT__Raw HTML page body. This is the main content placeholder.

Page template example

<section class="page-content">
  <h1>__LEFT__page:h1__RIGHT__</h1>
  __LEFT__page:if:image__RIGHT__
  <img src="__LEFT__page:image__RIGHT__" alt="__LEFT__page:h1__RIGHT__">
  __LEFT__/page:if:image__RIGHT__
  <div class="content">__LEFT__page:body:raw__RIGHT__</div>
</section>

Breadcrumbs

__LEFT__breadcrumbs__RIGHT__ generates breadcrumb <li> items for the current page. Place it inside a list.

<ul class="breadcrumbs-link">
  __LEFT__breadcrumbs__RIGHT__
</ul>

Menu

Menus can be rendered from a matrix configured in the panel or composed manually from single menu item shortcodes.

Shortcode / placeholderDescription
__LEFT__menu:main__RIGHT__Renders the menu with shortcode main.
__LEFT__menu-name:token__RIGHT__Returns a single menu item label.
__LEFT__menu-link-token__RIGHT__Returns a single menu item URL.
__LEFT__items__RIGHT__Placeholder for all menu items in the full menu matrix.
__LEFT__children__RIGHT__Placeholder for child items.
__LEFT__url__RIGHT__Item URL in the item matrix.
__LEFT__label__RIGHT__Item label in the item matrix.
__LEFT__active_class__RIGHT__Active item class.

List matrices

List matrices render repeated data records without JavaScript. You save one row matrix and column names in the panel, while the actual data stays directly on the page.

Shortcode / placeholderDescription
__LEFT__matrix-list:shortcode__RIGHT__...__LEFT__/matrix-list__RIGHT__Renders rows written between the tags using the matrix from the panel.
__LEFT__matrix-json:shortcode:/js/file.json__RIGHT__Renders records from a local JSON file using the same matrix from the panel. The page source contains normal HTML instead of a list built by JavaScript.
__LEFT__matrix-json:shortcode:/js/file.json:shuffle__RIGHT__Renders JSON with random ordering. Records with priority greater than zero are shown before the rest, and both groups are shuffled separately.
__LEFT__large__RIGHT__, __LEFT__thumb__RIGHT__, __LEFT__alt__RIGHT__Example placeholders based on matrix column names.
__LEFT__thumb-width__RIGHT__, __LEFT__thumb-height__RIGHT__Automatically detected dimensions of the local image from the thumb column.
__LEFT__image-width__RIGHT__, __LEFT__image-height__RIGHT__Automatically detected dimensions of the local image from the JSON image field.

Columns in the panel

large;thumb;alt;title;description

Single row matrix

<div class="gallery-photo col-xs-12 col-sm-6 col-md-4">
  <a href="__LEFT__large__RIGHT__" class="gallery-single-item lightbox-item lg-trigger" data-exthumbnail="__LEFT__thumb__RIGHT__">
    <img loading="lazy" src="__LEFT__thumb__RIGHT__" width="__LEFT__thumb-width__RIGHT__" height="__LEFT__thumb-height__RIGHT__" alt="__LEFT__alt__RIGHT__ / __LEFT__title__RIGHT__">
  </a>
</div>

Page data

__LEFT__matrix-list:photo-gallery__RIGHT__
/photos/large/1.webp;/photos/thumbs/1.webp;Baku;Azerbaijan;9274
/photos/large/2.webp;/photos/thumbs/2.webp;Baku;Azerbaijan;6166
__LEFT__/matrix-list__RIGHT__

Local JSON data

__LEFT__matrix-json:home-gallery:/js/home-street-en.json__RIGHT__

Local JSON data with shuffle and priorities

__LEFT__matrix-json:home-gallery:/js/home-street-en.json:shuffle__RIGHT__

The JSON file may contain fields such as image, image_full, alt, link, title, number and priority. Field names become matrix placeholders, for example __LEFT__image__RIGHT__, __LEFT__alt__RIGHT__, __LEFT__link__RIGHT__.

News

News shortcodes work on the listing page and on the detail page. The module has its own name, URL segment and title suffix per language.

ShortcodeDescription
__LEFT__news:name__RIGHT__News section name.
__LEFT__news:listing_url__RIGHT__News listing URL.
__LEFT__news:loop__RIGHT__...__LEFT__/news:loop__RIGHT__Loop over news entries.
__LEFT__news:loop:3__RIGHT__...__LEFT__/news:loop__RIGHT__Loop limited to 3 entries.
__LEFT__news:pagination__RIGHT__News listing pagination.
__LEFT__news:title__RIGHT__Entry title.
__LEFT__news:lead__RIGHT__Entry lead.
__LEFT__news:body:raw__RIGHT__Entry HTML body.
__LEFT__news:image__RIGHT__Main image.
__LEFT__news:url__RIGHT__Entry URL.
__LEFT__news:date__RIGHT__Publication date.

Blog

The blog supports post listings, post detail pages, categories, tags and taxonomy index views.

ShortcodeDescription
__LEFT__blog:name__RIGHT__Blog section name.
__LEFT__blog:heading__RIGHT__Current blog view heading.
__LEFT__blog:loop__RIGHT__...__LEFT__/blog:loop__RIGHT__Loop over blog posts.
__LEFT__blog:empty__RIGHT__Empty listing message.
__LEFT__blog:categories__RIGHT__Category links.
__LEFT__blog:tags__RIGHT__Tag links.
__LEFT__blog:taxonomy_items__RIGHT__Items on a category/tag index page.
__LEFT__blog:category__RIGHT__Current post category.
__LEFT__blog:tag__RIGHT__Current post tags.
__LEFT__blog:pagination__RIGHT__Pagination for blog listing, categories and tags.
__LEFT__blog:title__RIGHT__Post title.
__LEFT__blog:body:raw__RIGHT__Post HTML body.
__LEFT__blog:url__RIGHT__Post URL.

Search

The public search page can use the following shortcodes.

The default English search address is /en/search. The language-specific segment is configured in Settings - Basic - Page.

ShortcodeDescription
__LEFT__search:query__RIGHT__Current search query.
__LEFT__search:results__RIGHT__Search results: linked title plus matched word.
__LEFT__search:pagination__RIGHT__Search result pagination.
<h1>Results for: __LEFT__search:query__RIGHT__</h1>
__LEFT__search:results__RIGHT__
__LEFT__search:pagination__RIGHT__

FAQ

__LEFT__faq:shortcode__RIGHT__ inserts only the accordion content, without a section heading. Build the wrapper and title manually in the template.

<section class="faq-section">
  <div class="container">
    <h1>Frequently asked questions</h1>
    __LEFT__faq:strona-glowna__RIGHT__
  </div>
</section>

Photos and files

Photo shortcodes come from the photo library. File shortcodes come from the Files module.

ShortcodeDescription
__LEFT__photo-large-token__RIGHT__Large image path.
__LEFT__photo-thumb-token__RIGHT__Thumbnail path.
__LEFT__photo-alt-token__RIGHT__Alternative text.
__LEFT__photo-title-token__RIGHT__Photo title.
__LEFT__photo-description-token__RIGHT__Photo description.
__LEFT__file:token__RIGHT__Public file URL.

Forms

Forms can be rendered as one ready block or composed manually from field shortcodes.

ShortcodeDescription
__LEFT__form:contact__RIGHT__Ready form.
__LEFT__form:contact:open__RIGHT__Opens the form and adds technical fields.
__LEFT__form:contact:messages__RIGHT__Success and error messages.
__LEFT__form:contact:field:email__RIGHT__A single form field.
__LEFT__form:contact:error:email__RIGHT__Field validation error.
__LEFT__form:contact:recaptcha__RIGHT__reCAPTCHA v3.
__LEFT__form:contact:submit__RIGHT__Submit button.
__LEFT__form:contact:close__RIGHT__Closes the form.