Version:

Overwrite Templates

React components

Most of the HTML markup of the portal engine frontend is rendered via client side rendering (React / JSX components). Take a look at the Customized Frontend Build and Customize JSX Components section for a guide how to overwrite the corresponding JavaScript files.

Twig templates

Nevertheless, the portal engine also ships with a bunch of Twig templates located in src/Resources/views. The mechanism to overwrite them is just the standard Symfony way of doing this which is described here.

At certain places the portal engine adds Twig {% block %} statements which makes it possible to overwrite parts of the templates only. Take a look at the Twig docs for more details.

Example

Extend the login template, remove the logo + background image and wrap the headline into a <div>.

# needs to be located at app/Resources/PimcorePortalEngineBundle/views/auth/login.html.twig
{% extends '@!PimcorePortalEngine/auth/login.html.twig' %}

{% block logo %}
{% endblock %}

{% block login_background %}
{% endblock %}

{% block headline %}
    <div class="text-primary">
        {{ parent() }}
    </div>
{% endblock %}