{# Catalogue des widgets × formules. Un seul partial pour toutes les surfaces (Mon abonnement, changement d'offre, tarifs publics, création de site) : l'utilisateur voit exactement la règle que l'éditeur et le site public appliquent (WidgetCatalog). Paramètres (tous optionnels) : - plans : SubscriptionPlan[] — colonnes (défaut : formules actives) - highlight : SubscriptionPlan|null — colonne mise en avant (offre actuelle) - collapsible : bool — replié dans un
- title : string — libellé du résumé si collapsible Autonome : ses styles sont préfixés `wc-` et n'ont besoin ni de Bootstrap ni du design system de la vitrine. #} {% set plans = (plans is defined and plans) ? plans : active_plans() %} {% set highlight = highlight|default(null) %} {% set collapsible = collapsible|default(false) %} {% set counts = widget_counts() %} {% set catalog = widget_catalog(plans) %}
{% if collapsible %}
{{ title|default('Voir la liste des ' ~ counts.total ~ ' widgets par formule') }} {% endif %}
{% for plan in plans %} {% endfor %} {% for group in catalog %} {% for w in group.widgets %} {% set tierName = w.requiredPlanName|default(plan_name_for_tier(w.plan)) %} {% for plan in plans %} {% endfor %} {% endfor %} {% endfor %}
Widget {{ plan.name }} {{ widget_count_for_plan(plan) }} / {{ counts.total }}
{{ group.label }}{{ group.widgets|length }} widget{{ group.widgets|length > 1 ? 's' : '' }}
{{ w.label }} {% if w.plan %}{{ tierName }}{% endif %} {% if w.included[plan.id] %}{% else %}🔒{% endif %}

inclus 🔒 non inclus dans la formule Sans badge : inclus dans toutes les formules, même sans abonnement.

{% if collapsible %}
{% endif %}