Skip to content

Content Twig functions

Content rendering

ibexa_render()

ibexa_render() renders the indicated content item.

It uses the embed view by default, but you can pass a different view as an argument.

You can provide ibexa_render() with either a content item or a Location object.

Tip

Depending on whether you pass a content item or a Location object, the helper automatically selects and uses one of internal Twig functions: ibexa_render_content() or ibexa_render_location().

Argument Type Description
content or location Content or Location Content item or its location.
method string (optional) Rendering method. One of: direct, inline, esi, ssi. (Default method is direct)
viewType string (optional) View type. (Default view type is embed)

Rendering methods

You can pass one of the following rendering methods to ibexa_render():

  • direct - (default) renders the content item without using a request
  • inline - Symfony inline rendering method, sends a request to the server and inserts the response
  • esi - uses the Symfony Edge Side Include mechanism to render the correct tag that is handled by the reverse proxy
  • ssi - uses the Symfony Server Side Include mechanism to render the correct tag that is handled by the web server
1
2
3
4
5
{{ ibexa_render(location) }}

{{ ibexa_render(content, {'viewType': 'line'}) }}

{{ ibexa_render(content, {'method': 'inline'}) }}

Content information

ibexa_content_name()

ibexa_content_name() renders the name of a content item.

The function uses prioritized languages from SiteAccess settings unless you pass another language as forcedLanguage. If the content item doesn't have a translation in the prioritized or passed language, the function returns the name in the main language.

Argument Type Description
content Content, ContentInfo, or ContentAwareInterface Content item, its ContentInfo object, or ContentAwareInterface object.
forcedLanguage string (optional) Language to use (for example, fre-FR).
1
2
3
{{ ibexa_content_name(content) }}

{{ ibexa_content_name(content, 'pol-PL') }}
1
2
3
{{ ibexa_content_name(product) }}

{{ ibexa_content_name(product, 'fr-FR') }}

ibexa_seo_is_empty()

ibexa_seo_is_empty() returns a Boolean value which indicates whether SEO data is available for the content item that is passed as an argument.

Argument Type Description
content Content or ContentAwareInterface Content item or ContentAwareInterface object.
1
{{ ibexa_seo_is_empty(content) }}
1
{{ ibexa_seo_is_empty(product) }}

ibexa_seo()

ibexa_seo() attaches SEO data to the content item's HTML code.

Argument Type Description
content Content or ContentAwareInterface Content item or ContentAwareInterface object.
1
{{ ibexa_seo(content) }}
1
{{ ibexa_seo(product) }}

Tip

The following example uses both SEO-related functions:

1
2
3
4
5
6
{% if not ibexa_seo_is_empty(content) %}
    {{ ibexa_seo(content)}}
{% else %}
    <title>{{ ibexa_content_name(content) }}</title>
    # Generate other tags
{% endif %}

ibexa_taxonomy_entries_for_content() filter

ibexa_taxonomy_entries_for_content() fetches names of content categories.

Argument Type Description
content Content or ContentAwareInterface Content item to display the category name for.
1
{{ content|ibexa_taxonomy_entries_for_content|map(entry => "#{entry.name}")|join(', ') }}
1
{{ product|ibexa_taxonomy_entries_for_content|map(entry => "#{entry.name}")|join(', ') }}

ibexa_render_content_query()

ibexa_render_content_query renders the results of a non-content related query made by using a Query type.

Argument Type Description
options array Available options are: query, pagination, template.

Tip

For an example of using ibexa_render_content_query, see Add navigation menu.

ibexa_render_location_query()

ibexa_render_location_query renders the results of a non-content related location query made by using a Query type.

Argument Type Description
options array Available options are: query, pagination, template.