Widgets
Les widgets sont les blocs de contenu composables par les editeurs via le BlockGrid d'une page. ~32 widgets existent.
Anatomie standard
Pour Widget<Nom> :
| Element | Emplacement | Obligatoire |
|---|---|---|
| ViewComponent | App.Core/ViewComponents/Widget<Nom>ViewComponent.cs | oui |
| Vue Razor | App.Core/Views/Components/Widget<Nom>/Default.cshtml | oui |
| View model | App.Model/ViewModel/Component/ | oui |
| Document type | src/Umbraco/uSync/v9/ContentTypes/widget<nom>.config (+ widget<nom>Settings) | oui |
| Bundle SCSS | Design/{skin}/css/bundles/bundle-widget<nom>.scss + component/widget<nom>/ | si style |
| Bundle TS | TypeScript/bundles/bundle-widget<nom>.ts + ts/component/widget<nom>/ | si interactif |
Le ViewComponent implemente InvokeAsync(BlockGridItem item), recupere le skin via IDomainService.GetSkinName(), et retourne View("Default", model). Si le widget est interactif, la vue emet window.Widget<Nom>.addNewInstance("@Model.ContentKey") ; cote TS, une classe container (Widget<Nom>) gere un tableau d'items (Widget<Nom>Item).
Inventaire
| Widget | Role | JS |
|---|---|---|
| WidgetAccordion | Sections accordeon depliables | oui |
| WidgetBreadcrumb | Fil d'ariane | non |
| WidgetButton / WidgetButtonGroup | Boutons / groupes de boutons (CTA) | non |
| WidgetCard | Cartes/teasers (support video au survol) | oui |
| WidgetCaveHomeSlider | Slider d'accueil du skin Cave | oui |
| WidgetCode | Injection HTML/JS custom | non |
| WidgetCommuneAccordion / WidgetCommuneHome | Variantes du skin Commune | non |
| WidgetContact | Affichage d'infos de contact (Affiliate) | non |
| WidgetContactForm | Formulaire de contact custom | oui |
| WidgetDocument | Liste / telechargement de documents | non |
| WidgetForetsHome | Accueil du skin Forets | oui |
| WidgetGallery | Galerie images/video (Splide) | oui |
| WidgetHero | Banniere pleine largeur | non |
| WidgetImage | Image(s) | non |
| WidgetLatestFromFeed / WidgetLatestFromProjects | Listes dynamiques (articles / projets) | non |
| WidgetLogo | Logo / image avec lien | non |
| WidgetMap | Google Maps | oui |
| WidgetNavigation | Menu de navigation | non |
| WidgetNewsletter | Inscription newsletter | oui |
| WidgetOpeningHours | Horaires d'ouverture | oui |
| WidgetPiscinesHome | Accueil du skin Piscines | oui |
| WidgetSearchInProcedures | Recherche dans les procedures/documents | non |
| WidgetSeparator | Separateur visuel | non |
| WidgetSlider | Carrousel (Splide) | non |
| WidgetSocialNetworks | Liens / feeds reseaux sociaux | non |
| WidgetTab | Contenu en onglets | oui |
| WidgetText | Texte riche (WYSIWYG) | non |
| WidgetUmbracoForms | Integration d'un Umbraco Form | non |
| WidgetVideo | Embed video (iframe / fichier) | non |
Certains widgets sont specifiques a un skin (CaveHomeSlider, ForetsHome, PiscinesHome, CommuneHome/Accordion).
Ajouter un widget
Voir la procedure dans ../architecture/patterns.md.
Contributors
No contributors
Changelog
No recent changes

