{# v4 #}
{# http://craftsnippets.com/articles/breadcrumb-created-from-url-for-craft-cms #}

{# settings #}
{% set nonElementLinks = false %}

{# populate breadcrumbLinks array if no array of links was provided #}
{% if breadcrumbLinks is not defined %}
    {% set breadcrumbLinks = [] %}
    {# home #}
    {% set home = craft.app.getElements().getElementByUri('__home__', currentSite.id) %}
    {% set breadcrumbLinks =
        breadcrumbLinks|merge(
        [
            {
                url: home.url ?? alias(currentSite.baseUrl),
                title: 'Início'|t
            }
        ]
    ) %}

    {# get elements #}
    {% set segments = craft.app.request.segments %}
    {% for segment in segments %}
        {% set uriPart = segments[0:loop.index]|join('/')|literal %}

        {% set element = craft.app.elements.getElementByUri(uriPart, currentSite.id) %}

        {% if element %}
            {% set breadcrumbLinks =
                breadcrumbLinks|merge(
                [
                    {
                        url: element.url,
                        title: element.title
                    }
                ]
            ) %}
        {% elseif nonElementLinks %}
            {% set breadcrumbLinks =
                breadcrumbLinks|merge(
                [
                    {
                        url: url(uriPart),
                        title: segment|t
                    }
                ]
            ) %}
        {% endif %}
    {% endfor %}
{% endif %}
{% set cssClass = '' %}
{% if class is defined %}
    {% set cssClass = class %}
{% endif %}

{% if (breadcrumbLinks|length) > 1 %}
    <div class="breadcrumbs {{ cssClass }}">
        <ul>
            {% for link in breadcrumbLinks %}
                {% if loop.first %}
                    <li class="home">
                        <a href="{{ link.url }}" class="breadcrumb-link {{ cssClass }}">{{ link.title }}</a>
                    </li>
                {% else %}
                    {% if loop.last %}
                    <li>{{ link.title }}</li>
                    {% else %}
                        <li>
                            <a href="{{ link.url }}" class="breadcrumb-link {{ cssClass }}">{{ link.title }}</a>
                        </li>
                    {% endif %}
                {% endif %}
            {% endfor %}
        </ul>
    </div>
{% endif %}
