{# Expertise page - one "Savoir-faire" list item (title/subtitle/rich text + divider). Fixed-count list (always exactly 4 items, no add/remove/reorder — see ExpertisePageContentDto::$items, `#[Assert\Count(min: 4, max: 4)]`). The editor's generic flat serialization (ContentSerializer.serializeFlat(), see assets/admin/editor/ContentSerializer.ts) has no notion of nested arrays, so each item posts its fields as flat top-level keys named `item{index}Title` / `item{index}Subtitle` / `item{index}Content` (1-indexed, same convention as `AboutPageContentDto::$skillLabel1..5`, see templates/components/_about-savoir-faire.html.twig) — reassembled into the nested `items` array server-side by ExpertisePageContentSaver. Parameters: - item (array): `{id, title, subtitle, content}` - editMode (bool) - index (int, 1-based): disambiguates `data-field` since items have no per-item add/remove and therefore no client-generated id to key off of #}
{{ item.subtitle|default('')|raw }}
{% endif %} {% if (item.content is defined and item.content) or editMode|default(false) %}