{% macro buildCustomerParentBreadcrumbs(customer) %} {% import _self as selfMacro %} {% set parts = oro_customer_parent_parts(customer) %} {% if parts is not empty %} {% if parts|length > 2 %} {{ selfMacro.buildCollapsedBreadcrumbsByParts(parts) }} {% else %} {{ selfMacro.buildBreadcrumbsByParts(parts) }} {% endif %} {% else %} {{ 'N/A'|trans }} {% endif %} {% endmacro %} {% macro buildCollapsedBreadcrumbsByParts(parts) %} {% import _self as selfMacro %} {% import '@OroUI/macros.html.twig' as UI %} {% apply spaceless %} {% set first, last, collapsedParts = '', '', [] %} {% for parentPart in parts %} {% if loop.first %} {% set first %} {{ UI.renderUrl(path('oro_customer_customer_view', {'id': parentPart.id}), parentPart.name) }}{{ ' / ' }} {% endset %} {% endif %} {% if loop.last %} {% set last %} {{ ' / ' }}{{ UI.renderUrl(path('oro_customer_customer_view', {'id': parentPart.id}), parentPart.name) }} {% endset %} {% endif %} {% if not loop.first and not loop.last %} {% set collapsedParts = collapsedParts|merge([parentPart]) %} {% endif %} {% endfor %} {{ first }} {% set collapseId = 'collapse-'|uniqid %} {{ selfMacro.buildBreadcrumbsByParts(collapsedParts) }} {{ last }} {% endapply %} {% endmacro %} {% macro buildBreadcrumbsByParts(parts) %} {% import '@OroUI/macros.html.twig' as UI %} {% apply spaceless %} {% for parentPart in parts %} {% apply spaceless %} {{ loop.first ? '' : ' / ' }}{{ UI.renderUrl(path('oro_customer_customer_view', {'id': parentPart.id}), parentPart.name) }} {% endapply %} {% endfor %} {% endapply %} {% endmacro %} {% macro buildBreadcrumbTitleByParts(parts) %} {% set names = [] %} {% for parentPart in parts %} {% set names = names|merge([parentPart.name]) %} {% endfor %} {% apply spaceless %} {{ names|join(' / ')|e('html_attr') }} {% endapply %} {% endmacro %}