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
Ibexa\Contracts\Core\Repository\Values\Content\Content
or
Ibexa\Contracts\Core\Repository\Values\Content\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 does not have a translation in the prioritized or passed language, the function returns the name in the main language.

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

{{ ibexa_content_name(content, 'pol-PL') }}

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 Ibexa\Contracts\Core\Repository\Values\Content\Content
or
Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo
Content item or its ContentInfo object.
1
{{ ibexa_seo_is_empty(content) }}

ibexa_seo()

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

Argument Type Description
content Ibexa\Contracts\Core\Repository\Values\Content\Content
or
Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo
Content item or its ContentInfo object.
1
{{ ibexa_seo(content) }}

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_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.