Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Current »

The site object is accessible everywhere. The site object has the following default attributes, but is also extendible by adding content fields.

site.name

Returns the site name

site.domain

Returns the site’s primary full domain. E.g. www.my-plate-site.com.

site.content_objects.[:plural_content_type_name]

Returns all Abstract Content Objects for the given content type name in a collection.

E.g., when you have a content type with the (plural) name 'categories', site.content_objects.categories returns a collection object with all categories in it.

site.elements.[:plural_content_type_name]

Returns all Elements for the given content type name in a collection.

E.g., when you have a content type with the (plural) name ‘forms', site.elements.formsreturns a collection object with all 'Form’ elements in it.

You can also get all elements of a site in a collection: site.elements.all

site.[:plural_post_type_name]

Returns a collection with all posts (objects with the specified post type). E.g. {{ site.pages }} returns a collection with all posts with the content type ‘page’.

site.languages

Returns an array of objects representing the available languages for the site.

Input:

{{ site.languages }}

Output:

[
  { "shortcode" => "nl", "name" => "Dutch, "url" => "/dutch-url" },
  { "shortcode" => "en", "name" => "English, "url" => "/en/english-url" },
  { "shortcode" => "de", "name" => "German, "url" => "/de/german-url" }
]

The url attribute returns the url of the translation for the Post you are on. If there is no translation found, the root url for the language is returned. E.g. ‘/en’ for English, ‘/fr’ for French, and so on.

Input:

{% for language in site.languages %}
  <a href="{{ language.url }}">{{ language.name }}</a>
{% endfor %}

Output:

<a href="/dutch-url">Dutch</a>
<a href="/en/english-url">English</a>
<a href="/de">German</a> <!-- uses root german url if no translation is found !>
  • No labels